Suppression des signes diacritiques dans Go
Lorsque vous travaillez avec des chaînes codées en UTF8, il peut être nécessaire de supprimer les signes diacritiques, tels que les accents de "žůžo " pour obtenir "zuzo". Pour gérer efficacement de tels scénarios, des bibliothèques et des techniques standard sont disponibles dans Go.
Une approche consiste à exploiter la fonction unicode.Is() pour identifier les signes diacritiques (caractères classés comme « Mn » pour les marques sans espacement).
L'extrait de code suivant montre comment supprimer les signes diacritiques d'une chaîne donnée en utilisant Unicode/norm et golang.org/x/text/transform packages :
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) }
Ce code supprime les signes diacritiques en appliquant une série de transformations :
En tant que Résultat, le résultat sera une chaîne dépourvue de signes diacritiques, comme dans l'exemple : "žůžo" => "zuzo".
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!