国際的なテキストを英語の代替文字に変換するためにどのライブラリや関数を使用すればよいかのアドバイスを探しています。
例えば
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を使用して文字を分解し、次に単純な正規表現を使用してすべての分音記号を削除できます。(単純にすべての非スペーシング マーク文字を取得するだけでよいと思いますが、あいまいな例外が 1 つまたは 2 つある可能性があります。)
次に例を示します。
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