正则表达式只匹配ASCII和表示新行或段落的符号?

时间:2016-09-06 05:03:08

标签: regex groovy

基本上,我有想要清理的电子邮件文本。

目前,我正在使用:

body = message?.replaceAll("[^ -~]", "")

这对我的需求来说几乎是完美的 - 如果我只能拿起表示新线的大部分字符。 (目前,文本全部呈现为一个段落。)

HTML标签实际上对我来说没问题。更关注我的是特殊人物和twitter表情符号等等。 (它们太多样了所以我更愿意把注意力集中在我想要的东西上而不是我不想要的东西上。)

但是,如果我能拿到任何表明新线路的东西,那就更好了。

实际上,我认为我的原始表达式会单独留下html标签,因为它们是可打印的字符。我不太明白为什么他们被剥夺了。

1 个答案:

答案 0 :(得分:1)

我遇到的问题是“新行”的ASCII符号(例如CR,LF)也被剥离了。很简单,但我没有理解它。

我指定的范围是从 - 到〜。我需要指定更广泛的范围。对我有用的表达是:

newtext = text?.replaceAll("[^\\x00-\\x7F]", "")