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