我有类似的字符串:
test text test
我希望保留单个空格,并用
替换多个空格
所以它会变成:
tets text test
这里的任何人都可以建议我regex
吗?
答案 0 :(得分:4)
您可以使用以下替代品:
String replaced = str.replaceAll("((?<= ) | (?= ))", " ");
说明:我在这里使用正则表达式的前瞻和后瞻功能。 ((?<= ) | (?= ))
表示找到一个空格,其中前面有一个空格(?<= )
或后跟一个空格(?= )
这将确保单个空格空间未被替换,但所有多个空格都被替换。有关外观的详细信息,请参阅此链接:http://www.regular-expressions.info/lookaround.html
答案 1 :(得分:0)
尝试以下它会帮助你..
将Multiple spaces
替换为Single Space
..
YourString.trim().replaceAll(" +", " ");
答案 2 :(得分:0)
String str = "test text test ";
System.out.println(str.replaceAll("\\s+", " "));
答案 3 :(得分:0)
String str="test text test";
str=str.replaceAll("\\s\\s"," ");
str=str.replaceAll(" \\s"," ");//It will work for Odd number
如果有奇数个空格,第一个替换将留下一个空格,所以第二个可以解决这个问题。