ホームページ > バックエンド開発 > C++ > C# で文字列から非 ASCII 文字を削除するにはどうすればよいですか?

C# で文字列から非 ASCII 文字を削除するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-19 13:33:09
オリジナル
306 人が閲覧しました

How to Remove Non-ASCII Characters from a String in C#?

C# 文字列から非 ASCII 文字を効率的に削除する

データの処理と検証では、文字列から非 ASCII 文字を削除することが頻繁に必要になります。 この記事では、正規表現を使用してこのタスクを実行する簡潔な C# メソッドを示します。

正規表現ソリューション

次のコード スニペットでは、正規表現を使用して非 ASCII 文字をすべて削除します。

<code class="language-csharp">string s = "søme string";
s = Regex.Replace(s, @"[^\u0000-\u007F]+", string.Empty);</code>
ログイン後にコピー

Regex.Replace は、出現するすべてのパターンを空の文字列に置き換え、非 ASCII 文字を効果的に削除します。 パターンを分析してみましょう:

  • ^: 一致を反転する否定演算子。
  • u####-u####: Unicode コードポイントの範囲を指定します。 u0000-u007F は ASCII 範囲を定義します。
  • : 先行する文字クラスの 1 つ以上の出現と一致します。

このパターンは、ASCII 範囲外のすべての文字を正確にターゲットにして削除します。

正規表現の説明

正規表現はさらに細分化できます:

  • [u0000-u007F] : 1 つ以上の ASCII 文字と一致します。
  • [^...]: 先頭にキャレットが付いた角括弧 (^) は、指定された範囲の外側の文字を選択する否定文字クラスを作成します。
  • string.Empty: 置換文字列。この場合は、一致した文字を削除する空の文字列です。

この正規表現は、ASCII 文字だけを残して文字列をフィルタリングするクリーンかつ効率的な方法を提供します。

以上がC# で文字列から非 ASCII 文字を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート