2012-04-24 47 views

回答

1

为什么不使用:s/\s+/ /g

哦,刚刚意识到,不占先导和尾随空间。你可以通过这个表达式运行输入,然后再到一个以上照顾那些太:

s/^\s+|\s+$// 
1

如何只用一个空格代替\s+? (假设我们不受限于单行匹配)。 (如果我们使用一些逐行替换的正则表达式,比如一些Unix工具,我们将会删除所有前导空白和尾随空白,用一个空格替换内部空白区域,并删除空行或只包含空格)。

您是否尝试将此应用于HTML文档的某些部分,同时保留其他区域的空白?如果是这样,请用反映此要求的示例更新您的问题。

0

如果正在使用Java,

String normalizeSpace = str.replaceAll("\\s+", " "); 

Commons Lang 2.6在类StringUtils包含具有相同功能(包括控制字符,字符< = 32)的方法normalizeSpace

相关问题