Maison  >  Article  >  développement back-end  >  Comment supprimer les accents des chaînes dans Go ?

Comment supprimer les accents des chaînes dans Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-03 16:45:30673parcourir

How to Remove Accents from Strings in Go?

Go : Supprimer les accents des chaînes

Dans Go, la suppression des accents des chaînes peut être réalisée à l'aide de la normalisation et d'une fonction de suppression. L'approche suivante utilise le package runes dans Go 1.5 ou version ultérieure :

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

func RemoveAccents(s string) string {
    t := transform.Chain(norm.NFD, runes.Remove(runes.In(unicode.Mn)), norm.NFC)
    result, _, _ := transform.String(t, s)
    return result
}

func main() {
    input := "résumé"
    fmt.Println(RemoveAccents(input)) // Output: resume
}</code>

Dans cette approche, nous :

  1. Utilisons le formulaire de normalisation norm.NFD pour convertir la chaîne en son forme entièrement décomposée.
  2. Supprimez les marques sans espacement (accents) à l'aide de runes.Remove(runes.In(unicode.Mn)).
  3. Convertissez la chaîne à sa forme composée en utilisant la norme. NFC.
  4. Renvoyer la chaîne transformée sans accents.

Notez que cette approche nécessite Go 1.5 ou version ultérieure, qui introduit le package runes.

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!

Déclaration:
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