String s = "hi hello";
s = s.replaceAll("\\s*", " ");
System.out.println(s);
我有上面的代码,但我无法理解它产生的原因
h i h e l l o
而不是
hi hello
非常感谢
答案 0 :(得分:15)
使用+
量词来匹配1个或多个空格而不是*
: -
s = s.replaceAll("\\s+", " ");
\\s*
表示匹配0个或更多空格,并在每个字符前匹配一个空字符,并用空格替换。
答案 1 :(得分:9)
*
匹配0个或更多空格,我认为您要将其更改为+
以匹配1个或更多空格。