Maison > développement back-end > Golang > Comment normaliser la saisie de texte non-ASCII en ASCII à l'aide de la bibliothèque Go Standard ?

Comment normaliser la saisie de texte non-ASCII en ASCII à l'aide de la bibliothèque Go Standard ?

Linda Hamilton
Libérer: 2024-10-24 07:22:02
original
689 Les gens l'ont consulté

How to Normalize Non-ASCII Text Input to ASCII Using the Go Standard Library?

Normalisation de la saisie de texte en ASCII

De nombreuses applications nécessitent la possibilité d'analyser les saisies de l'utilisateur et d'identifier les erreurs d'écriture. Cependant, la gestion des caractères non-ASCII, tels que les guillemets bouclés, peut être un défi.

Remplacement de chaîne avec stdlib

Une approche courante consiste à utiliser des remplacements de chaîne avec des fonctions comme des octets.Remplacer. Bien qu'efficace pour des caractères connus spécifiques, cette méthode peut s'avérer fastidieuse pour gérer divers caractères.

Utilisation de la fonction Strings.Map

La bibliothèque standard Go offre une solution plus polyvalente avec la fonction strings.Map. Cette fonction permet le mappage de runes (points de code Unicode) avec d'autres runes. En définissant une fonction de mappage personnalisée, vous pouvez convertir les caractères non-ASCII en leurs équivalents ASCII.

Exemple

<code class="go">import (
    "fmt"
    "strings"
)

func normalize(in rune) rune {
    switch in {
    case '“', '‹', '”', '›':
        return '"'
    case '‘', '’':
        return '\''
    }
    return in
}

func main() {
    data := "Hello “Frank” or ‹François› as you like to be ‘called’"
    fmt.Printf("Original: %s\n", data)
    cleanedData := strings.Map(normalize, data)
    fmt.Printf("Cleaned: %s\n", cleanedData)
}</code>
Copier après la connexion

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

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
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