Heim >Backend-Entwicklung >C++ >Wie entferne ich Nicht-ASCII-Zeichen aus einer Zeichenfolge in C#?

Wie entferne ich Nicht-ASCII-Zeichen aus einer Zeichenfolge in C#?

Susan Sarandon
Susan SarandonOriginal
2025-01-19 13:33:09256Durchsuche

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

Effizientes Entfernen von Nicht-ASCII-Zeichen aus C#-Zeichenfolgen

Die Datenverarbeitung und -validierung erfordert häufig das Entfernen von Nicht-ASCII-Zeichen aus Zeichenfolgen. Dieser Artikel demonstriert eine prägnante C#-Methode, die reguläre Ausdrücke verwendet, um diese Aufgabe zu erfüllen.

Lösung für reguläre Ausdrücke

Der folgende Codeausschnitt verwendet einen regulären Ausdruck, um alle Nicht-ASCII-Zeichen zu entfernen:

<code class="language-csharp">string s = "søme string";
s = Regex.Replace(s, @"[^\u0000-\u007F]+", string.Empty);</code>

Regex.Replace ersetzt alle Vorkommen des Musters durch eine leere Zeichenfolge und löscht so effektiv Nicht-ASCII-Zeichen. Lassen Sie uns das Muster analysieren:

  • ^: Der Negationsoperator, der die Übereinstimmung umkehrt.
  • u####-u####: Gibt einen Unicode-Codepunktbereich an. u0000-u007F definiert den ASCII-Bereich.
  • : Entspricht einem oder mehreren Vorkommen der vorhergehenden Zeichenklasse.

Dieses Muster zielt gezielt auf alle Zeichen außerhalb des ASCII-Bereichs ab und entfernt sie.

Regex erklärt

Der reguläre Ausdruck kann weiter unterteilt werden:

  • [u0000-u007F] : Entspricht einem oder mehreren ASCII-Zeichen.
  • [^...]: Die eckigen Klammern mit einem führenden Caretzeichen (^) erstellen eine negierte Zeichenklasse und wählen Zeichen außerhalb des angegebenen Bereichs aus.
  • string.Empty: Die Ersatzzeichenfolge; in diesem Fall eine leere Zeichenfolge, die die übereinstimmenden Zeichen entfernt.

Dieser reguläre Ausdruck bietet eine saubere und effiziente Möglichkeit, eine Zeichenfolge zu filtern, sodass nur ASCII-Zeichen übrig bleiben.

Das obige ist der detaillierte Inhalt vonWie entferne ich Nicht-ASCII-Zeichen aus einer Zeichenfolge in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn