Maison >développement back-end >C++ >Comment supprimer les caractères non-ASCII d'une chaîne en C# ?

Comment supprimer les caractères non-ASCII d'une chaîne en C# ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-19 13:33:09307parcourir

How to Remove Non-ASCII Characters from a String in 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!

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