從 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 範圍。
:符合前面字元類別的一次或多次出現。 此模式精確定位並刪除 ASCII 範圍之外的所有字元。
正規表示式解釋
正規表示式可以進一步細分:
[u0000-u007F]
:符合一個或多個 ASCII 字元。 [^...]
:帶有前導插入符號 (^
) 的方括號建立一個否定字元類,選擇 超出 指定範圍的字元。 string.Empty
:替換字串;在本例中,為空字串,刪除相符的字元。 這個正規表示式提供了一個乾淨有效的方法來過濾字串,只留下 ASCII 字元。
以上是如何從 C# 字串中刪除非 ASCII 字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!