Heim >Backend-Entwicklung >Golang >Wie kann ich Akzente aus Zeichenfolgen in Go entfernen?

Wie kann ich Akzente aus Zeichenfolgen in Go entfernen?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-03 15:45:03775Durchsuche

How Can I Remove Accents from Strings in Go?

Akzente aus Zeichenfolgen in Go entfernen

Problem

Das Konvertieren von akzentuierten Zeichen in ihre nicht akzentuierten Äquivalente war eine Herausforderung für einige Go-Programmierer. Ein Versuch, eine Funktion mithilfe des Pakets „code.google.com/p/go.text/unicode/norm“ in Go 1.4 zu implementieren, erwies sich als erfolglos.

Lösung

Seit April 2015 steht mit der Einführung des Pakets „runes“ ein alternativer Ansatz zur Verfügung, der eine speziell für diesen Zweck entwickelte Funktion „Entfernen“ enthält.

Go 1.5/1.6 Update

Mit Blick auf die Zukunft wird Go 1.5 oder 1.6 wahrscheinlich ein neues „Runen“-Paket mit Transformationsoperationen bringen. Dies bietet eine vereinfachte Lösung mit der Funktion „Entfernen“, wie im folgenden Beispiel zu sehen ist:

<code class="go">package main

import (
    "fmt"
    "transform"

    "github.com/kjk/runes"
    "github.com/kjk/runes/example_test"
)

func ExampleRemove() {
    t := transform.Chain(norm.NFD, runes.Remove(runes.In(unicode.Mn)), norm.NFC)
    s, _, _ := transform.String(t, "résumé")
    fmt.Println(s)

    // Output:
    // resume
}

func main() {
    ExampleRemove()
}</code>

Das obige ist der detaillierte Inhalt vonWie kann ich Akzente aus Zeichenfolgen in Go entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn