Практическое руководство. Исключение недопустимых символов из строки
В следующем примере используется статический метод 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\.@-\\%] также разрешает знак процента и обратную косую черту во входной строке.