Wie konvertiert Buchstaben mit Akzenten, Umlauten, etc., um Ihre ASCII-Entsprechungen in Perl?
Ich Schreibe ein Programm, das funktioniert mit den Dokumenten in Perl und viele der Dokumente sind Zeichen wie ä, ö, ü, é, etc
(groß-und Kleinbuchstaben). Ich möchte Sie zu ersetzen mit ASCII-Pendants a, o, u, e, etc
. Wie würde ich es tun, in Perl?
Einer der Lösungen, die ich dachte zu haben, der einen hash mit den Schlüsseln wird der umlaut-und Akzent-Zeichen, und die Werte als ASCII-Pendants, aber das verlangt von mir eine Liste mit allen umlaut-und Akzent-Zeichen, die ich nicht habe, und wenn ich baute eine Liste, würde ich sicherlich vermissen viele, wie ich bin nicht vertraut mit allen möglichen Zeichen, die haben könnte, werden Umlaute, Akzente und andere diakritische Zeichen.
Wenn nicht: Wie kann ich das ersetzen von Unicode-Zeichen mit ASCII in Perl? Wie kann ich das ändern erweiterten lateinischen Zeichen zu Ihren unbetont ASCII-Entsprechungen?
Ich denke, den ersten Absatz von Text::Unidecode Modul Beschreibung definiert die möglichen Anwendungsfälle gut genug. ) Es geht nicht um die Sortierung nur.
Danke für die vielen Antworten. Text::Unidecode ist genau das, was ich Suche!
InformationsquelleAutor bodacydo | 2012-06-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als üblich, wenn Sie denken, ein problem, das die meisten sicherlich nicht Ihre nur, es gibt bereits eine Lösung, die auf CPAN. ) In diesem Fall heißt Text::Unidecode
InformationsquelleAutor raina77ow
Text::Unidecode
Sehen, die vielen verzichte, aber es ist wahrscheinlich genau das, was Sie brauchen, wenn Sie nur lateinische text mit diakritischen Zeichen.
InformationsquelleAutor mob
verwenden
s///
(=Suchen&Ersetzen) stattm//
(=Übereinstimmung)z.B.
$name =~ s/\x00c0/A/g;
InformationsquelleAutor GuZ
habe ich diese Unterroutine und ich füttere jedes Wort durch. Dies könnte langsam sein.
InformationsquelleAutor Bonnie Dalzell