正则表达式或用单个空格替换多个空格的方法

Posted

技术标签:

【中文标题】正则表达式或用单个空格替换多个空格的方法【英文标题】:Regex or way to replace multiple space with single space 【发布时间】:2013-09-21 05:22:01 【问题描述】:

能否请您告诉我有没有办法在java或spring中用单个空格替换多个空格?有相同的 stringUtils 函数吗?

喜欢

1.

test     test
test test

2.

test  test
test test

3.

test                    test
test test

【问题讨论】:

字符串实用程序的问题是它们不会替换可变长度的字符,因此您必须默认为单个字符。但这样做最终会花费大量时间。最好使用正则表达式。 【参考方案1】:

这是@p.s.w.g 的变体 - 它忽略换行符,但仍会得到制表符等。

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

【讨论】:

【参考方案2】:

替换多个空格

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

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

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

【讨论】:

以上是关于正则表达式或用单个空格替换多个空格的方法的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# 中用单个空格替换多个空格?

C# MVC - 具有单个空格或多个空格的整数的正则表达式

利用notepad++正则表达式将 多个空格 替换为一个逗号

利用notepad++正则表达式将 多个空格 替换为一个逗号

正则表达式匹配一段里的第一个空格?

js正则表达式替换空格