如何使用正则表达式删除字符串中的多余空格

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

要回复问题请先登录注册