Maison  >  Article  >  développement back-end  >  Comment normaliser la saisie de texte non-ASCII en ASCII à l'aide de la fonction strings.Map ?

Comment normaliser la saisie de texte non-ASCII en ASCII à l'aide de la fonction strings.Map ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-24 07:24:02730parcourir

How to Normalize Non-ASCII Text Input to ASCII Using the strings.Map Function?

Normaliser la saisie de texte en ASCII

La gestion des caractères non-ASCII dans la saisie de texte peut être un défi, en particulier lorsque l'objectif est de les normaliser en équivalents ASCII. Un problème courant survient lorsque vous rencontrez des guillemets bouclés au lieu de guillemets droits. Bien que les remplacements de chaînes personnalisés puissent résoudre ce problème, la bibliothèque standard offre une solution plus complète.

La fonction strings.Map fournit un mécanisme pour mapper les runes (caractères Unicode) à d'autres runes. Cette approche offre une méthode personnalisable et générique pour convertir les caractères non-ASCII en équivalents ASCII.

Dans ce cas, le code suivant montre comment utiliser Map pour normaliser les guillemets bouclés en guillemets droits :

<code class="go">package main

import (
    "fmt"
    "strings"
)

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

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 la fonction strings.Map, il est possible de définir des règles de mappage personnalisées qui gèrent divers caractères non-ASCII, garantissant que tout le texte saisi est normalisé en équivalents ASCII selon les besoins.

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