14

Perl でドキュメントを操作するプログラムを書いていますが、多くのドキュメントにはä, ö, ü, é, etc(大文字と小文字の両方) などの文字が含まれています。それらを対応する ASCII に置き換えたいと思いa, o, u, e, etcます。Perl ではどのようにすればよいでしょうか?

私が考えた解決策の 1 つは、キーがウムラウト文字とアクセント文字であり、値が対応する ASCII 文字であるハッシュを使用することですが、それにはすべてのウムラウト文字とアクセント文字のリストが必要ですが、それは私が持っていません。ウムラウト、アクセント、その他の分音記号を含む可能性のあるすべての文字に慣れていないため、リストを作成した場合、多くの文字を見逃すことは間違いありません。

4

4 に答える 4

27

いつものように、間違いなくあなただけの問題ではない問題を考えているなら、CPAN にはすでに解決策があります。) この場合、それはText::Unidecodeと呼ばれます

use warnings;
use strict;
use utf8;
use Text::Unidecode;
print unidecode('ä, ö, ü, é'); # will print 'a, o, u, e'
于 2012-06-15T21:19:15.620 に答える
3

Text::Unidecode

多くの免責事項を参照してください。しかし、ラテン語のテキストに分音符号が付いているだけの場合は、おそらく必要なものです。

于 2012-06-15T21:18:44.440 に答える