我想要使用正则表达式解析一系列段落,但不幸的是,段落出现在句子之间有很多空格,有时候是单词。我希望能够删除所有多余的空白区域,但我不确定如何......任何人都有任何想法?我不想删除所有空格,这是我到目前为止唯一发现的空格,而是保持常规的段落格式,就像在每个单词都有空格之后,并且在每个标点符号+单词后面都有空格。我在Perl编码。
任何帮助将不胜感激!
答案 0 :(得分:15)
规范化水平空格:
s/\h+/ /g;
规范化垂直空白:
s/\v+/\n/g;
规范所有空格:
s/[\h\v]+/ /g;
答案 1 :(得分:4)
答案 2 :(得分:1)
上述答案都给出了结果,但在这两种情况下,字符串的开头和结尾都有空格。
如果我在字符串“hello world”上使用这些正则表达式,我会得到答案为“hello world”
要将结果显示为“hello world”,以下perl正则表达式将正常工作
$a =~ s/(?<!\w) //g;
使用这里的后视镜,可以移除所有额外的间隔。