繁体   English   中英

Java 1.7。 如何在正则表达式中并排替换两个字符?

[英]Java 1.7. How to replace two characters side by side in a regular expression?

我有代码:

String str = "1 */ * / 2";

str = str.replaceAll("\\*/", " ");

System.out.println(str);

他给了我下一个结果,这是正确的:

1 * / 2

但是我需要得到相反的结果,我这样做:

String str = "1 */ * / 2";

str = str.replaceAll("[^\\*/]", " ");

System.out.println(str);

得到:

* / * /

但不是:

* /

我只需要将这两个字符放在一起,单独排除*和/

我怎样才能做到这一点?

replaceAll(regex, replacement)尝试搜索由regex表示的模式,并将该匹配 replacementreplacement内容。 如果你不想替换它,但是让我们说只打印它,而不是String#replaceAll使用Matcher#find like

String str = "1 */ * / 2";

Pattern p = Pattern.compile("\\*/");
Matcher m = p.matcher(str);
while(m.find()){
    String match = m.group();
    //do something with match
    System.out.println(match);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM