尝试从html文档中的名称集合中删除空格和制表符时遇到问题。正则表达式 - 需要删除除单词外的所有字符,允许一个空格继续单词
例:
FU BAR
RE BAR NULL
我需要我的回应仅仅是:
FU BAR RE BAR NULL
我一直在试图:
[^A-Z]+([[A-Z]{1,}\s]+)[\s\r\n\t]+
,仍然有一些零零落落的空格或制表符结束留下。有什么建议吗?
尝试从html文档中的名称集合中删除空格和制表符时遇到问题。正则表达式 - 需要删除除单词外的所有字符,允许一个空格继续单词
例:
FU BAR
RE BAR NULL
我需要我的回应仅仅是:
FU BAR RE BAR NULL
我一直在试图:
[^A-Z]+([[A-Z]{1,}\s]+)[\s\r\n\t]+
,仍然有一些零零落落的空格或制表符结束留下。有什么建议吗?
为什么不使用:s/\s+/ /g
?
哦,刚刚意识到,不占先导和尾随空间。你可以通过这个表达式运行输入,然后再到一个以上照顾那些太:
s/^\s+|\s+$//
如何只用一个空格代替\s+
? (假设我们不受限于单行匹配)。 (如果我们使用一些逐行替换的正则表达式,比如一些Unix工具,我们将会删除所有前导空白和尾随空白,用一个空格替换内部空白区域,并删除空行或只包含空格)。
您是否尝试将此应用于HTML文档的某些部分,同时保留其他区域的空白?如果是这样,请用反映此要求的示例更新您的问题。
如果正在使用Java,
String normalizeSpace = str.replaceAll("\\s+", " ");
Commons Lang 2.6在类StringUtils包含具有相同功能(包括控制字符,字符< = 32)的方法normalizeSpace
。