Heim >Backend-Entwicklung >Golang >Wie entferne ich diakritische Zeichen aus UTF-8-Zeichenfolgen in Go?

Wie entferne ich diakritische Zeichen aus UTF-8-Zeichenfolgen in Go?

Barbara Streisand
Barbara StreisandOriginal
2024-12-09 01:53:111055Durchsuche

How to Remove Diacritics from UTF-8 Strings in Go?

Diakritische Zeichen in Go mithilfe von Textnormalisierungsbibliotheken entfernen

Wie können Sie diakritische Zeichen mühelos aus UTF8-codierten Zeichenfolgen in Go entfernen? Wandeln Sie beispielsweise die Zeichenfolge „žůžo“ in „zuzo“ um.

Lösung:

Glücklicherweise bietet Go eine Reihe von Standardbibliotheken, die die Textnormalisierung übernehmen, einschließlich Unicode Normalisierung und diakritische Entfernung. So können Sie sie effektiv nutzen:

package main

import (
    "fmt"
    "unicode"

    "golang.org/x/text/transform"
    "golang.org/x/text/unicode/norm"
)

func isMn(r rune) bool {
    return unicode.Is(unicode.Mn, r) // Mn: nonspacing marks
}

func main() {
    t := transform.Chain(norm.NFD, transform.RemoveFunc(isMn), norm.NFC)
    result, _, _ := transform.String(t, "žůžo")
    fmt.Println(result)
}

Dieser Code verwendet eine Reihe von Transformationen unter Verwendung der Algorithmen NFD (Normalisierungsform D), Mn-Entfernung und NFC (Normalisierungsform C). Das Ergebnis entfernt effektiv alle diakritischen Zeichen aus der Eingabezeichenfolge.

Das obige ist der detaillierte Inhalt vonWie entferne ich diakritische Zeichen aus UTF-8-Zeichenfolgen in Go?. 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