我有一个Perl脚本,其中包含一个字符串,该字符串可能包含或不包含ASCII字符代码中的字符146。我有兴趣在正则表达式中使用chr()函数来查明该字符串是否确实包含该字符。如果角色在那里,我想用“'”字符替换它。
这可能吗?如果不是这样做的另一种方式呢?
这个让我难过。谢谢!
答案 0 :(得分:12)
您可以将变量替换为模式:
$c = chr(146);
$target =~ s/$c/'/go; # "o" means $c won't change so remember it
但通常会通过将其转换为八进制或十六进制来将其指定为文字:
$target =~ s/\222/'/g; # octal
$target =~ s/\x92/'/g; # hex