다음을 통해 공유


방법: 문자열에서 유효하지 않은 문자 제거

다음 예제에서는 정적 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\.@-\\%]를 사용하면 백분율 기호와 역슬래시를 입력 문자열에 사용할 수도 있습니다.

참고 항목

개념

.NET Framework 정규식