尝试从html文档中的名称集合中删除空格和制表符时遇到问题。
例如:
FU BAR
RE BAR NULL
我需要回答的只是:
FU BAR RE BAR NULL
我一直在尝试:
[^A-Z]+([[A-Z]{1,}\s]+)[\s\r\n\t]+
并且仍然留有一些分散的空格或标签。任何建议?
答案 0 :(得分:1)
为什么不使用:s/\s+/ /g
?
哦,刚才意识到这并没有说明领先和尾随空格。您可以先通过此正则表达式运行输入,然后再运行上面的输入来处理这些:
s/^\s+|\s+$//
答案 1 :(得分:1)
用一个空格替换\s+
怎么样? (假设我们不受限于单线匹配)。
(如果我们使用一些逐行正则表达式替换,例如某些Unix工具,我们将核心所有前导和尾随空格,用单个空格替换内部空白区域,并删除空行或只包含空格。)
您是否尝试将此应用于HTML文档的某些部分,同时保留其他区域的空白?如果是,请通过反映此要求的示例更新您的问题。
答案 2 :(得分:0)
如果您使用的是Java,
String normalizeSpace = str.replaceAll("\\s+", " ");
类Commons Lang 2.6中的 StringUtils包含具有相同功能的方法normalizeSpace
(包含控制字符,char< = 32)。