如何:从字符串中剥离无效字符
下面的示例使用静态 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\.@-] 匹配除单词字符、句点、@ 符号或连字符之外的任何字符。 单词字符是任何字母、十进制数字或标点连接符(如下划线)。 与此模式匹配的任何字符都将替换为由替换模式定义的字符串 String.Empty。 若要在用户输入中允许使用其他字符,请在正则表达式模式中将这些字符添加到字符类中。 例如,正则表达式模式 [^\w\.@-\\%] 还允许在输入字符串中使用百分号和反斜杠。