整个想法是替换空格后跟逗号(,)或替换逗号后跟空格(,)只用一个逗号(,)。我们可以做一些像下面这样的事情吗?
strLine = strLine.replaceAll(", | ,",",");
答案 0 :(得分:3)
您的替换会将"a ,b, c , d , e"
更改为"a,b,c, d , e"
。
使用此表单可能更好:replaceAll("\\s*,\\s*",",")
。
这将产生"a,b,c,d,e"
\\s
将匹配空格,制表符和新线条,*
表示其前的内容可以显示0次或更多次。
答案 1 :(得分:3)
是的,你可以,因为replaceAll
在更换之前首先创建Pattern
,如果你查看Pattern的javadoc,你可以看到|完全具有你想要的功能。
答案 2 :(得分:3)
您可以使用:
strLine = strLine .replaceAll("\\s?,\\s?",",");