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