如何从字符串perl中删除空字符

时间:2015-03-10 18:01:56

标签: regex string perl parsing whitespace

我需要远程空间,新行字符,制表符等。我试图以不同的方式做到这一点。

 $entry =~ s/^\s*(.*?)\s*$/$1/; 
 $entry =~ /^(?:[\t ]*(?:\r?\n|\r))+/;
 chomp($entry);

对于第一行正则表达式,它不会删除空字符\ 0,之后我得到带空值的字符串。第二个正则表达式也没有帮助 请帮助从字符串中删除所有空格,如果字符串为空,则不应传递障碍

if ($entry)
提前谢谢。

2 个答案:

答案 0 :(得分:3)

要删除所有不可打印的字符(其中\ 0是一个)和所有空白字符,请执行以下操作:

s/[[:^print:]\s]//g

要从开头和结尾删除它们,请执行以下操作:

s/\A[[:^print:]\s]|[[:^print:]\s]\z/;

答案 1 :(得分:0)

如果要删除所有白色字符(空格,制表符),然后执行

  

$ entry = ~s / \ s // g

应该足够了。我还不完全清楚你还想要删除什么。 空字符串不会通过:

  

if($ entry)