若要檢視英文版的文章,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

如何:從字串中刪除無效的字元

 

下列範例使用靜態 Regex.Replace 方法將字串中無效的字元刪除。

範例

您可以使用這個範例中定義的 CleanInput 方法來刪除已經輸入到接受使用者輸入之文字欄位中的潛在危害字元。 在此案例中,CleanInput 會刪除所有非英數字元 (但句號 (.)、@ 符號和連字號 (-) 除外),並且傳回其餘字串。 不過,您可以修改規則運算式模式,使其刪除不應包含在輸入字串中的任何字元。

using System;
using System.Text.RegularExpressions;

public class Example
{
    static string CleanInput(string strIn)
    {
        // Replace invalid characters with empty strings.
        try {
           return Regex.Replace(strIn, @"[^\w\.@-]", "", 
                                RegexOptions.None, TimeSpan.FromSeconds(1.5)); 
        }
        // If we timeout when replacing invalid characters, 
        // we should return Empty.
        catch (RegexMatchTimeoutException) {
           return String.Empty;   
        }
    }
}

規則運算式模式 [^\w\.@-] 會比對任何非文字字元、句號、@ 符號或連字號的字元。 文字字元是指任何字母、十進位數字或標點符號連接,例如底線。 符合這個模式的任何字元都會由 String.Empty 取代,而這是取代模式所定義的字串。 若要允許在使用者輸入中採用其他字元,請將這些字元加入至規則運算式模式中的字元類別。 例如,規則運算式模式 [^\w\.@-\\%] 也允許在輸入字串中使用百分比符號和反斜線。

顯示: