Der Umgang mit Nicht-ASCII-Zeichen in der Texteingabe kann eine Herausforderung sein, insbesondere wenn das Ziel darin besteht, sie auf ASCII-Äquivalente zu normalisieren. Ein häufiges Problem tritt auf, wenn geschweifte Anführungszeichen anstelle von geraden Anführungszeichen auftreten. Während benutzerdefinierte String-Ersetzungen dieses Problem beheben können, bietet die Standardbibliothek eine umfassendere Lösung.
Die strings.Map-Funktion bietet einen Mechanismus zum Zuordnen von Runen (Unicode-Zeichen) zu anderen Runen. Dieser Ansatz bietet eine anpassbare und generische Methode zum Konvertieren von Nicht-ASCII-Zeichen in ASCII-Äquivalente.
In diesem Fall zeigt der folgende Code, wie Map verwendet wird, um geschweifte Anführungszeichen in gerade Anführungszeichen zu normalisieren:
<code class="go">package main import ( "fmt" "strings" ) func main() { data := "Hello “Frank” or ‹François› as you like to be ‘called’" fmt.Printf("Original: %s\n", data) cleanedData := strings.Map(normalize, data) fmt.Printf("Cleaned: %s\n", cleanedData) } func normalize(in rune) rune { switch in { case '“', '‹', '”', '›': return '"' case '‘', '’': return '\'' } return in }</code>
Original: Hello “Frank” or ‹François› as you like to be ‘called’ Cleaned: Hello "Frank" or "François" as you like to be 'called'
Durch die Verwendung der strings.Map-Funktion ist es möglich, benutzerdefinierte Zuordnungsregeln zu definieren, die verschiedene Nicht-ASCII-Zeichen verarbeiten und so sicherstellen, dass der gesamte Eingabetext nach Bedarf auf ASCII-Äquivalente normalisiert wird.
Das obige ist der detaillierte Inhalt vonWie normalisiere ich Nicht-ASCII-Texteingaben mithilfe der strings.Map-Funktion in ASCII?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!