使用正则表达式或其他方法将多个空格替换为单个空格。

7
请问有没有办法在Java或Spring中用stringUtils函数将多个空格替换为单个空格?

例如:

1.

test     test
test test

2.

test  test
test test

3.

test                    test
test test

字符串工具的问题在于它们不能替换变长的字符,因此你必须默认为单个字符。但是这样做最终会花费大量时间。更好的方法是使用正则表达式来处理。 - user557597
2个回答

28

替换多个空格

output = input.replaceAll("[ ]+", " ");

或替换多个空白字符(包括空格、制表符、换行符等)

output = input.replaceAll("\\s+", " ");

4

这是 @p.s.w.g 的一种变体 - 它忽略换行符,但仍然获取制表符等。

output = input.replaceAll("[^\\S\\r\\n]+", " ");


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接