【发布时间】:2016-10-25 00:37:42
【问题描述】:
我想删除某些字符串中的变音符号。 tr/// 应该完成这项工作但失败了(见下文)。我以为我遇到了编码/解码问题,但我注意到s/// 按我的预期工作。有人能解释一下原因吗?
这是我得到的结果示例:
my $str1 = 'èîü';
my $str2 = $str1;
$str1 =~ tr/î/i/;
print "$str1\n"; # => i�iii�
$str2 =~ s/î/i/;
print "$str2\n"; # => èiü
注意tr///还修改了字符串的第一个和第三个字符,而不仅仅是中间的。
编辑:我使用 Ubuntu 16.04 和 Mate 桌面环境。
【问题讨论】: