我有一系列我想使用正则表达式进行解析的段落,但不幸的是,该段落在句子之间出现了许多空格,有时还出现了单词。我希望能够删除所有多余的空白区域,但我不确定如何...任何人有任何想法?我不想删除所有空格,这是我目前发现的唯一的东西,但要保留常规的段落格式,就像在每个单词有空格之后,并且在每个标点符号+单词有空格之后。我使用Perl编码。如何使用正则表达式删除字符串中的多余空格
任何帮助,将不胜感激!
我有一系列我想使用正则表达式进行解析的段落,但不幸的是,该段落在句子之间出现了许多空格,有时还出现了单词。我希望能够删除所有多余的空白区域,但我不确定如何...任何人有任何想法?我不想删除所有空格,这是我目前发现的唯一的东西,但要保留常规的段落格式,就像在每个单词有空格之后,并且在每个标点符号+单词有空格之后。我使用Perl编码。如何使用正则表达式删除字符串中的多余空格
任何帮助,将不胜感激!
。规范化水平空白:
s/\h+/ /g;
。规范化垂直空白:
s/\v+/\n/g;
。规范化的所有空格:
s/[\h\v]+/ /g;
上述两个答案给出结果,但在这两种情况下, ,字符串的开头和结尾都有一个空格。
如果我使用这些正则表达式的字符串“世界你好”,我得到的答案“世界你好”
要得到的结果为“世界你好”,下面的Perl的正则表达式将很好地工作
$a =~ s/(?<!\w) //g;
使用这里的后视,所有额外的间距都被删除。
Perl也有tr ///太:tr/\ n \ r \ f \ t// s – tadmc 2011-01-31 02:39:29
好点,谢谢你的补充。 – ocodo 2011-01-31 02:49:59