方法 : 文字列から無効な文字を取り除く

静的な Regex.Replace メソッドを使用して、文字列から無効な文字を取り除く例を次に示します。

使用例

この例で定義した CleanInput メソッドを使用すると、ユーザーがテキスト フィールドで入力した文字列の中から、潜在的な危険性がある文字を取り除くことができます。 この場合、CleanInput は、ピリオド (.)、アット マーク (@)、およびハイフン (-) 以外のすべての非英数文字を取り除き、残りの文字列を返します。 ただし、入力文字列に含めてはいけないすべての文字を取り除くように正規表現パターンを変更することができます。

Imports System.Text.RegularExpressions

Module Example
    Function CleanInput(strIn As String) As String
        ' Replace invalid characters with empty strings.
        Return Regex.Replace(strIn, "[^\w\.@-]", "")
    End Function
End Module
using System;
using System.Text.RegularExpressions;

public class Example
{
    static string CleanInput(string strIn)
    {
        // Replace invalid characters with empty strings.
        return Regex.Replace(strIn, @"[^\w\.@-]", ""); 
    }
}

正規表現パターン [^\w\.@-] は、単語に使用される文字、ピリオド、@ 記号、またはハイフン以外の任意の文字と一致します。 単語に使用される文字は、任意の文字、10 進数字、またはアンダースコアなどのコネクタ区切り記号です。 このパターンに一致する文字は、置換パターンで定義された文字列である String.Empty に置き換えられます。 ユーザー入力でその他の文字を許可するには、それらの文字を正規表現パターンの文字クラスに追加します。 たとえば、正規表現パターン [^\w\.@-\\%] は、入力文字列でパーセント記号と円記号も許可します。

参照

その他の技術情報

.NET Framework の正規表現