我编写正则表达式来删除字符串中的多个空格。代码很简单:
my $string = 'A string has more than 1 space';
$string = s/\s+/\s/g;
但是,结果很糟糕:'Asstringshassmoresthans1sspace'。它用“s”字符替换每个空格。
有一个解决方法是代替使用 \s 进行替换,我使用 ' '。所以正则表达式变为:
$string = s/\s+/ /g;
为什么带有 \s 的正则表达式不起作用?