我正在寻找建议我应该使用什么库和/或函数将国际文本转换为它的英文字符替代。
例如
Vous avez aimé l'épée offerte par les elfes à Frodon
转换成
Vous avez aime l'epee offerte par les elfes a Frodon
我正在寻找建议我应该使用什么库和/或函数将国际文本转换为它的英文字符替代。
例如
Vous avez aimé l'épée offerte par les elfes à Frodon
转换成
Vous avez aime l'epee offerte par les elfes a Frodon
首先,您可以使用Unicode::Normalize分解字符,然后您可以使用简单的正则表达式删除所有变音符号。(我认为只需抓住所有非间距标记字符就可以了,但可能有一两个模糊的例外。)
这是一个例子:
use strict;
use warnings;
use utf8;
use Unicode::Normalize;
my $test = "Vous avez aimé l'épée offerte par les elfes à Frodon";
my $decomposed = NFKD( $test );
$decomposed =~ s/\p{NonspacingMark}//g;
print $decomposed;
输出:
Vous avez aime l'epee offerte par les elfes a Frodon