방법: 문자열에서 유효하지 않은 문자 제거
다음 예제에서는 정적 Regex.Replace 메서드를 사용하여 문자열에서 유효하지 않은 문자를 제거합니다.
예제
이 예제에 정의된 CleanInput 메서드를 사용하면 사용자 입력을 받아들이는 텍스트 필드에 입력된 해로울 수 있는 문자를 제거할 수 있습니다. 이 경우 CleanInput은 마침표(.), at(@) 기호 및 하이픈(-)을 제외하고 영문자가 아닌 모든 문자를 제거한 후 나머지 문자열을 반환합니다. 하지만 입력 문자열에 포함되어서는 안되는 모든 문자를 제거할 수 있도록 정규식 패턴을 수정할 수 있습니다.
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\.@-\\%]를 사용하면 백분율 기호와 역슬래시를 입력 문자열에 사용할 수도 있습니다.