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

我有代码:

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)尝试搜索正则表达式表示的模式,并用替换内容替换匹配的内容.如果您不想替换它,而只说打印它,而不是String#replaceAll则使用Matcher#find

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);
}

相关文章

摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠...
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠...
今天犯了个错:“接口变动,伤筋动骨,除非你确定只有你一个...
Writer :BYSocket(泥沙砖瓦浆木匠)微 博:BYSocket豆 瓣:...
本文目录 线程与多线程 线程的运行与创建 线程的状态 1 线程...