0

尝试从 html 文档中的名称集合中删除空格和制表符时遇到问题。

前任:

        FU BAR       
RE BAR          NULL

我需要我的回应只是:

FU BAR RE BAR NULL

我一直在尝试:

[^A-Z]+([[A-Z]{1,}\s]+)[\s\r\n\t]+

最后仍然留下一些零散的空格或标签。有什么建议吗?

4

3 回答 3

1

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

哦,刚刚意识到这并没有考虑到前导和尾随空格。您也可以通过首先通过此正则表达式运行输入来处理这些问题,然后是上面的那个:

s/^\s+|\s+$//
于 2012-04-24T21:52:11.800 回答
1

\s+用一个空格替换怎么样?(假设我们不受限于单行匹配)。

(如果我们使用一些逐行的正则表达式替换,例如一些 Unix 工具,我们会删除所有前导和尾随空格,用单个空格替换内部空格区域,并删除空行或仅包含空格的行.)

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

于 2012-04-24T21:52:20.153 回答
0

如果您使用的是 Java,

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

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

于 2012-04-24T22:08:38.740 回答