Heim > Backend-Entwicklung > Golang > Wie kann ich das Runes-Paket verwenden, um Akzente aus Zeichenfolgen in Go zu entfernen?

Wie kann ich das Runes-Paket verwenden, um Akzente aus Zeichenfolgen in Go zu entfernen?

Susan Sarandon
Freigeben: 2024-11-03 00:15:03
Original
206 Leute haben es durchsucht

How Can I Use the Runes Package to Remove Accents From Strings in Go?

Runenpaket in Go: Zeichen mit Akzent umwandeln

In Go besteht eine häufige Aufgabe darin, Zeichen mit Akzent in ihre nicht akzentuierten Äquivalente umzuwandeln. Ein Ansatz besteht darin, Unicode-Pakete wie Norm und Text zu verwenden. Allerdings können diese Pakete für Anfänger komplex sein.

Eine einfachere Lösung ist die Verwendung des Runes-Pakets, das in Go 1.5 (veröffentlicht im August 2015) und Go 1.6 (Veröffentlichung geplant im ersten Quartal 2016) eingeführt wurde. Das Paket „runes“ bietet eine einfachere Möglichkeit, Zeichen ohne Leerzeichen (Mn) zu entfernen, die normalerweise für Akzente verantwortlich sind.

Hier ist ein Beispiel für die Verwendung des Pakets „runes“, um Akzente aus einer Zeichenfolge zu entfernen:

<code class="go">import (
    "fmt"
    "runes"
    "bytes"
    "code.google.com/p/go.text/transform"
    "code.google.com/p/go.text/unicode/norm"
)

func main() {
    r := bytes.NewBufferString("Your Śtring")
    t := transform.Chain(norm.NFD, runes.Remove(runes.In(unicode.Mn)), norm.NFC)
    r = transform.NewReader(r, t)
    fmt.Println(r)

    // Output:
    // Your String
}</code>
Nach dem Login kopieren

Dieser Code verwendet die Funktion transform.Chain, um eine Reihe von Transformationen auf die Zeichenfolge anzuwenden. Zunächst wird die Zeichenfolge in ihre Unicode-Normalisierungsform (NFD) zerlegt, um die Basiszeichen von den Akzenten zu trennen. Anschließend wird die Funktion „runes.Remove“ angewendet, um alle Runen herauszufiltern, die in die Kategorie „Mn“ (ohne Abstandszeichen) fallen. Abschließend wird die Zeichenfolge wieder in ihre normalisierte Form (NFC) zusammengesetzt, um alle verbleibenden diakritischen Zeichen zu entfernen.

Dadurch wird die akzentuierte Zeichenfolge „Your Śtring“ nach der Entfernung von non in „Your String“ umgewandelt -Abstandszeichen.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage