Как заменить все символы в строке на «*» в Perl - PullRequest
0 голосов
/ 03 ноября 2019

Как получить регулярное выражение для замены всех символов в строке в perl на *? Строка также содержит несколько символов utf-8 или iso-8859-1. Я пробовал с "s / \ w / * / g". Но он не заменил символы utf-8 или iso-8859-1.

my $value="hellö";
print "$value\n";
$value =~ s/\w/*/g;
print "after replacing $value\n"; //It prints ****ö.

Я ожидаю, что все символы должны быть заменены на *, т.е. hellö должен быть заменен на *****.

Обратите внимание, что некоторые специальные символы, такие как -, _, \, / etc, должны быть пропущены.

Ответы [ 2 ]

0 голосов
/ 03 ноября 2019

Если вы хотите пропустить всего несколько символов, вы всегда можете сделать что-то вроде

 s/[^, \/\\\-]/*/g;
0 голосов
/ 03 ноября 2019

Заменить все символы в строке? \w для сопоставления символов слова, но использование только точки должно соответствовать всем символам: s/./*/g

...