为了账号安全,请及时绑定邮箱和手机立即绑定

Java 替换所有正则表达式问题

Java 替换所有正则表达式问题

人到中年有点甜 2021-09-03 15:11:19
我正在尝试为每个辅音添加一个字母,我遇到的问题是我无法弄清楚应该如何为小写和大写添加不同的字母。我可以为此使用双正则表达式吗?在这种情况下,如何?    import java.util.Scanner;public class Main {    public static void main(String[] args) {//      skapar en scanner        Scanner sc = new Scanner(System.in);        System.out.print("Skriv en rad text: ");//      tar användarens input och översätter den till rövarspråket.        String input = sc.nextLine();           System.out.println(input.replaceAll("([bcdfghjklmnpqrstvwxz])", "$1o$1"));    }}
查看完整描述

3 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

您可以使用 |符号来匹配小写或大写字符。


import java.util.regex.Pattern;

import java.util.regex.Matcher;

public class HelloWorld

{

  public static void main(String[] args)

  {

    String text    =

      "John writes about this, and John Doe writes about that," +

      " and John Wayne writes about everything."

      ;


    String patternString1 = "([b-z&&[^eiou]]|[B-Z&&[^EIOU]])";


    Pattern pattern = Pattern.compile(patternString1);

    Matcher matcher = pattern.matcher(text);


    String replaceAll = matcher.replaceAll("$10$1");

    System.out.println("replaceAll   = " + replaceAll);

  }

}

输出


replaceAll   = J0Joh0hn0n w0wr0rit0tes0s ab0bout0t t0th0his0s, an0nd0d J0Joh0hn0n D0Doe w0wr0rit0tes0s ab0bout0t t0th0hat0t, an0nd0d J0Joh0hn0n W0Way0yn0ne w0wr0rit0tes0s ab0bout0t ev0ver0ry0yt0th0hin0ng0g.



查看完整回答
反对 回复 2021-09-03
  • 3 回答
  • 0 关注
  • 179 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信