Как использовать функцию chr внутри регулярного выражения в Perl? - PullRequest
2 голосов
/ 05 марта 2011

У меня есть скрипт Perl, в котором есть строка, которая может содержать или не содержать символ 146 в кодах символов ASCII.Я заинтересован в использовании функции chr () внутри регулярного выражения, чтобы выяснить, действительно ли эта строка содержит этот символ.Если персонаж есть, я бы хотел заменить его на символ «».

Возможно ли это?Если нет, то как еще можно это сделать?

У этого есть мой тупик.Спасибо!

1 Ответ

12 голосов
/ 05 марта 2011

Вы можете подставить переменные в шаблоны:

$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
...