Maison >développement back-end >C++ >Comment supprimer les caractères non-ASCII d'une chaîne en C# ?
Suppression efficace des caractères non-ASCII des chaînes C#
Le traitement et la validation des données nécessitent fréquemment la suppression des caractères non-ASCII des chaînes. Cet article présente une méthode C# concise utilisant des expressions régulières pour accomplir cette tâche.
Solution d'expression régulière
L'extrait de code suivant utilise une expression régulière pour supprimer tous les caractères non-ASCII :
<code class="language-csharp">string s = "søme string"; s = Regex.Replace(s, @"[^\u0000-\u007F]+", string.Empty);</code>
Regex.Replace
remplace toutes les occurrences du modèle par une chaîne vide, supprimant ainsi les caractères non-ASCII. Analysons le modèle :
^
: L'opérateur de négation, inversant la correspondance.u####-u####
: Spécifie une plage de points de code Unicode. u0000-u007F
définit la plage ASCII.
: correspond à une ou plusieurs occurrences de la classe de caractères précédente.Ce modèle cible et supprime précisément tous les caractères en dehors de la plage ASCII.
Regex expliqué
L'expression régulière peut être décomposée davantage :
[u0000-u007F]
: correspond à un ou plusieurs caractères ASCII.[^...]
: Les crochets avec un curseur de début (^
) créent une classe de caractères niée, sélectionnant des caractères en dehors de la plage spécifiée.string.Empty
: La chaîne de remplacement ; dans ce cas, une chaîne vide, supprimant les caractères correspondants.Cette expression régulière fournit un moyen propre et efficace de filtrer une chaîne, ne laissant que des caractères ASCII.
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!