我试图通过运行perl脚本来删除我的文本中的重音符号,其中我使用了tr运算符(我找到的更简单的方法):
我试过了:
tr/àâäéèëêîïôöûùüç/aaaeeeeiioouuuc/;
它删除了重音,但我得到了角色' aa'而不是',' ae'而不是'等等。
答案 0 :(得分:7)
最好使用像Text::Undiacritic
=)
#!/usr/bin/perl
use warnings;
use strict;
use utf8;
binmode(STDIN, ":utf8");
binmode(STDOUT, ":utf8");
binmode(STDERR, ":utf8");
use Text::Undiacritic qw(undiacritic);
my $string = "C'est l'été à Paris ?\n";
print undiacritic $string;
C'est l'ete a Paris ?
就您使用重音提示字符串而言,undiacritic()
将删除重音,但不会在typographic ligature上按示例运行。如果你传递字符串
C'est l'été à Paris Lætitia ?
它不会替代æ
欢迎来到真正棘手的世界:Unicode-UTF8。 A good pointer