我在 Perl 脚本中有一个 $cbDescription 变量。当我打印出 $cbDescription 时,我得到以下内容:
tIP SOLD -5 /ESH4 @1832.00
我想从字符串中删除任何 + 或 - 或 @ 符号或逗号,因此我有以下行:
$cbDescription =~ s/[+-\@,]//g;
我希望该行将 $cbDescription 更改为:
tIP SOLD 5 /ESH4 1832.00
但是当我在该行之后打印出 $cbDescription 时,我得到:
tIP SOLD ESH
为什么它还删除了所有数字和小数点?
答案1
-
是括号之间的范围分隔符,因此您需要对其进行转义:
% echo "tIP SOLD -5 /ESH4 @1832.00" | perl -pi -e 's/[+\-\@,]//g'
tIP SOLD 5 /ESH4 1832.00