Maison >développement back-end >Golang >Comment normaliser la saisie de texte en ASCII à l'aide de la gestion améliorée d'Unicode dans Go ?

Comment normaliser la saisie de texte en ASCII à l'aide de la gestion améliorée d'Unicode dans Go ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-24 07:28:291056parcourir

How to Normalize Text Input to ASCII Using Enhanced Unicode Handling in Go?

Normalisation de la saisie de texte en ASCII à l'aide d'une gestion Unicode améliorée

La conversion des caractères non-ASCII en leurs équivalents ASCII est une exigence courante dans de nombreux contextes de programmation . Lorsque vous travaillez avec des entrées utilisateur, il devient nécessaire de gérer les caractères spéciaux tels que les guillemets bouclés de manière cohérente.

Utilisation de Strings.Map pour le mappage de runes

La bibliothèque standard Go fournit la fonction strings.Map pour transformer efficacement les runes d'une chaîne (points de code Unicode) en une nouvelle chaîne. Cette fonction permet un contrôle granulaire sur les remplacements de caractères.

Dans l'exemple fourni, le code suivant convertit les guillemets bouclés en guillemets droits à l'aide des chaînes.Fonction Map :

<code class="go">data := "Hello “Frank” or ‹François› as you like to be ‘called’"
cleanedData := strings.Map(normalize, data)</code>

La fonction de normalisation est une fermeture qui gère les remplacements de caractères en fonction de plages de caractères Unicode prédéfinies :

<code class="go">func normalize(in rune) rune {
    switch in {
    case '“', '‹', '”', '›':
        return '"'
    case '‘', '’':
        return '\''
    }
    return in
}</code>

Sortie :

Original: Hello “Frank” or ‹François› as you like to be ‘called’
Cleaned: Hello "Frank" or "François" as you like to be 'called'

En utilisant strings.Map, nous pouvons normaliser le texte entrée en équivalents ASCII sans recourir aux remplacements de chaînes. Cela fournit une approche polyvalente et efficace pour gérer les caractères non-ASCII dans divers scénarios de programmation.

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