Postupy: Odstranění neplatných znaků z řetězce
Následující příklad používá statickému Regex.Replace metody pro odstranění neplatných znaků z řetězce.
Příklad
Můžete použít metodu CleanInput definovanou v tomto příkladu pro odstranění potenciálně škodlivých znaků, které byly zadány do textového pole, které přijme vstup uživatele. V tomto případě CleanInput odstraní všechny nealfanumerické znaky kromě teček (.) na symboly (@), pomlčkami (-) a vrátí řetězec zbývající. Můžete však upravit vzorce regulárního výrazu, aby vypouští všechny znaky, které mají být zahrnuty do vstupní řetězec.
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\.@-]", "");
}
}
Vzorek regulárního výrazu [^\w\.@-] porovnává libovolný znak, který není znakem slova, tečky, symbolu @ nebo pomlčky. Znak slova je libovolné písmeno, desítkové číslice nebo interpunkci spojnice například podtržítko. Jakýkoli znak, který odpovídá tomuto vzorku, je nahrazen String.Empty, což je řetězec definovaný vzorkem pro nahrazování. Povolit vstup uživatele další znaky, přidáte tyto znaky na třídu znaků ve vzorku regulárního výrazu. Například vzorec regulárního výrazu [^\w\.@-\\%] umožňuje také symbol procenta a lomítkem v vstupní řetězec.