Maison > développement back-end > Golang > Comment puis-je utiliser le package Runes pour supprimer les accents des chaînes dans Go ?

Comment puis-je utiliser le package Runes pour supprimer les accents des chaînes dans Go ?

Susan Sarandon
Libérer: 2024-11-03 00:15:03
original
206 Les gens l'ont consulté

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

Pack de runes dans Go : transformation des caractères accentués

Dans Go, une tâche courante consiste à transformer les caractères accentués en leurs équivalents non accentués. Une approche consiste à utiliser des packages Unicode tels que norm et text. Cependant, ces packages peuvent être complexes pour les débutants.

Une solution plus simple consiste à utiliser le package runes, qui a été introduit dans Go 1.5 (sorti en août 2015) et Go 1.6 (sortie prévue au premier trimestre 2016). Le package runes fournit un moyen plus simple de supprimer les marques sans espacement (Mn), qui sont généralement responsables des accents.

Voici un exemple d'utilisation du package runes pour supprimer les accents d'une chaîne :

<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>
Copier après la connexion

Ce code utilise la fonction transform.Chain pour appliquer une série de transformations à la chaîne. Tout d’abord, la chaîne est décomposée sous sa forme de normalisation Unicode (NFD) pour séparer les caractères de base des accents. Ensuite, la fonction runes.Remove est appliquée pour filtrer toutes les runes qui entrent dans la catégorie Mn (marques sans espacement). Enfin, la chaîne est composée à nouveau dans sa forme normalisée (NFC) pour supprimer tous les signes diacritiques restants.

En conséquence, la chaîne accentuée « Votre chaîne » est transformée en « Votre chaîne » après la suppression des caractères non -marques d'espacement.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal