我有动态生成的字符串@ @ @ efq @!#!,我想使用Perl从字符串中删除特定的字符.
目前我正在做的事情(用任何东西替换字符):
$varTemp =~ s/['\$','\#','\@','\~','\!','\&','\*','\(','\)','\[','\]','\;','\.','\,','\:','\?','\^',' ','\`','\\','\/']//g;
有更好的做法吗?我正在做一些干净的事情.
你误会了如何使用
character classes:
$varTemp =~ s/[\$#@~!&*()\[\];.,:?^ `\\\/]+//g;
与正则表达式相同(假设您不是要从字符串中删除’字符).
编辑:允许几个“特殊字符”一次匹配,所以它也应该更快.