如何在perl中用'*'替换字符串中的所有字符

How to replace all characters in a string with '*' in perl

如何在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ö 应替换为 *****。

请注意,应跳过一些特殊字符,例如 -、_、\、/ 等。

要替换所有字符串中的字符? \w 用于匹配单词字符,但仅使用点应该匹配所有字符:s/./*/g

如果你只想跳过几个字符,你总是可以按照

 s/[^, \/\\-]/*/g;