替换特殊字符(以及空格被视为相同)

时间:2014-08-19 21:08:33

标签: java regex

看一下这个字符串String str = "first,second, there";。有,,(第二个逗号后面有space)。如何在RegEx中将.replaceAll()表示为"first second there"的参数,以便将其表达为space 输出将是:

String temp2 = str.replaceAll("[\\,\\, ]", " ");。 < - 每个first second there的金额相同。

我尝试了一些组合,但仍然失败了。其中之一是:

{{1}}将打印{{1}}。

先谢谢。

2 个答案:

答案 0 :(得分:4)

只需使用, *匹配逗号后跟零个或多个空格,然后替换为单个空格。

String str = "first,second, there";
System.out.println(str.replaceAll(", *", " "));

输出:

first second there

详细了解Java Pattern

贪婪量词

  • X? X,一次或根本不是
  • X* X,零次或多次
  • X+ X,一次或多次

答案 1 :(得分:1)

String temp2 = str.replaceAll(", ?", " ");

?意味着可选(即零或一次),或

String temp2 = str.replaceAll(", *", " ");

*表示零或多(多)个空格