2
我有一個Perl腳本,它有一個字符串,它可能包含或不包含ASCII字符代碼中的字符146。我有興趣在正則表達式中使用chr()函數來確定該字符串是否確實包含該字符。如果角色在那裏,我想用一個「'」字符代替它。如何在Perl中使用正則表達式中的chr函數?
這可能嗎?如果不是另一種方式來做到這一點?
這一個有我的難倒。謝謝!
我有一個Perl腳本,它有一個字符串,它可能包含或不包含ASCII字符代碼中的字符146。我有興趣在正則表達式中使用chr()函數來確定該字符串是否確實包含該字符。如果角色在那裏,我想用一個「'」字符代替它。如何在Perl中使用正則表達式中的chr函數?
這可能嗎?如果不是另一種方式來做到這一點?
這一個有我的難倒。謝謝!
您也可以替換成變量模式:
$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
標題是有點誤導。這不是關於在正則表達式中使用chr(),而是關於在正則表達式中使用特殊字符。 – vog 2011-03-05 01:58:29
字符146不是ASCII。 ASCII停止在127。 – tchrist 2011-03-05 04:51:21