다음을 통해 공유


Like 연산자(Visual Basic)

문자열을 패턴과 비교합니다.

중요합니다

연산자는 Like 현재 .NET Core 및 .NET Standard 프로젝트에서 지원되지 않습니다.

문법

result = string Like pattern  

부분

result
필수 사항입니다. 모든 Boolean 변수입니다. 결과는 해당 값이 Boolean 충족되는지 여부를 string 나타내는 값입니다 pattern.

string
필수 사항입니다. 모든 String 식입니다.

pattern
필수 사항입니다. "주의"에 설명된 패턴 일치 규칙을 준수하는 식 String 입니다.

비고

값이 포함된 stringpattern패턴을 만족하는 경우는 다음과 result 같습니다 True. 문자열이 패턴을 result 충족하지 않는 경우는 다음과 입니다 False. 둘 다 stringpattern 문자열인 경우 결과는 .입니다 True.

비교 메서드

연산자의 Like 동작은 Option Compare 문에 따라 달라집니다. 각 원본 파일에 대한 기본 문자열 비교 메서드는 .입니다 Option Compare Binary.

패턴 옵션

기본 제공 패턴 일치는 문자열 비교를 위한 다양한 도구를 제공합니다. 패턴 일치 기능을 사용하면 각 문자를 특정 문자 string , 와일드카드 문자, 문자 목록 또는 문자 범위와 일치시킬 수 있습니다. 다음 표에서는 허용되는 pattern 문자와 일치하는 항목을 보여 있습니다.

문자 수 pattern 일치 항목 string
? 모든 단일 문자
* 0개 이상의 문자
# 모든 한 자리(0-9)
[charlist] 의 모든 단일 문자 charlist
[!charlist] 에 없는 모든 단일 문자 charlist

문자 목록

대괄호()로 묶인 하나 이상의 문자 그룹(charlist[ ])을 사용하여 단일 문자를 string 일치시킬 수 있으며 숫자를 포함한 거의 모든 문자 코드를 포함할 수 있습니다.

시작 부분의 charlist 느낌표(!)는 문자를 제외한 charlist 문자가 있는 경우 일치 항목이 만들어지는 string것을 의미합니다. 외부 대괄호를 사용하는 경우 느낌표 자체가 일치합니다.

특수 문자

특수 문자 왼쪽 대괄호([), 물음표(?), 숫자 기호(#) 및 별표(*)와 일치하려면 대괄호로 묶습니다. 오른쪽 대괄호(])는 그룹 내에서 자체와 일치하도록 사용할 수 없지만 그룹 외부에서 개별 문자로 사용할 수 있습니다.

문자 시퀀스는 [] 길이가 0인 문자열("")로 간주됩니다. 그러나 대괄호로 묶인 문자 목록에는 속할 수 없습니다. 위치에 string 문자 그룹 중 하나가 포함되어 있는지 또는 문자가 전혀 없는지 확인하려는 경우 두 번 사용할 Like 수 있습니다. 예를 들어 방법 : 패턴에 대해 문자열 일치를 참조하세요.

문자 범위

하이픈()을 사용하여 범위 charlist 의 하한과 상한을 구분하여 문자 범위를 지정할 수 있습니다. 예를 들어 해당 [A–Z] 문자 위치에 범위 내의 문자가 포함되어 있으면 일치가 발생하며[!H–L], 해당 문자 위치에 string 범위ZA 외부HL의 문자가 포함된 경우 일치가 발생합니다.

문자 범위를 지정하는 경우 오름차순으로 표시되어야 합니다. 즉, 가장 낮은 순서에서 가장 높은 순서로 표시되어야 합니다. [A–Z] 따라서 유효한 패턴이지만 [Z–A] 그렇지 않습니다.

여러 문자 범위

동일한 문자 위치에 대해 여러 범위를 지정하려면 구분 기호 없이 동일한 대괄호 안에 배치합니다. 예를 들어 해당 [A–CX–Z] 문자 위치에 string 범위 또는 범위 XACZ의 문자가 포함된 경우 일치하는 결과가 발생합니다.

하이픈 사용

하이픈()은 시작 부분(느낌표 뒤, 있는 경우) 또는 charlist 끝에 표시하여 자체와 일치시킬 수 있습니다. 다른 위치에서 하이픈은 하이픈의 양쪽에 있는 문자로 구분된 문자 범위를 식별합니다.

시퀀스 정렬

지정된 범위의 의미는 코드가 실행 중인 시스템의 로캘 설정에 따라 Option Compare 결정되는 런타임 시 문자 순서에 따라 달라집니다. 와 함께 Option Compare Binary범위 [A–E] 는 일치 A, B, C, DE. With Option Compare Text, [A–E] matchesA, a, , àÀ, B, b, C, c, Dd, Ee. 범위가 일치하지 Êê 않거나 악센트가 있는 문자가 정렬 순서에서 중심이 없는 문자 뒤 정렬되기 때문입니다.

Digraph 문자

일부 언어에는 두 개의 개별 문자를 나타내는 알파벳 문자가 있습니다. 예를 들어 여러 언어는 문자를 사용하여 문자를 æa 나타내고 e 함께 표시할 때 사용합니다. 연산자는 Like 단일 digraph 문자와 두 개의 개별 문자가 동일하다는 것을 인식합니다.

시스템 로캘 설정에서 digraph 문자를 사용하는 언어를 지정하는 경우 단일 digraph 문자가 다른 문자열에 있는 동일한 두 문자 시퀀스 중 하나 pattern 또는 string 일치합니다. 마찬가지로, 대괄호로 묶인 다이 그래프 문자 pattern (그 자체로 목록 또는 범위)는 해당하는 두 문자 시퀀스( string.)와 일치합니다.

오버로딩

연산자는 Like오버로드될 수 있습니다. 즉, 피연산자에 해당 클래스 또는 구조체의 형식이 있는 경우 클래스 또는 구조체가 해당 동작을 다시 정의할 수 있습니다. 코드에서 이러한 클래스 또는 구조체에서 이 연산자를 사용하는 경우 다시 정의된 동작을 이해해야 합니다. 자세한 내용은 운영자 프로시저를 참조하세요.

예시

이 예제에서는 연산자를 Like 사용하여 문자열을 다양한 패턴과 비교합니다. 결과는 각 문자열이 Boolean 패턴을 충족하는지 여부를 나타내는 변수로 이동합니다.

Dim testCheck As Boolean
' The following statement returns True (does "F" satisfy "F"?)
testCheck = "F" Like "F"
' The following statement returns False for Option Compare Binary
'    and True for Option Compare Text (does "F" satisfy "f"?)
testCheck = "F" Like "f"
' The following statement returns False (does "F" satisfy "FFF"?)
testCheck = "F" Like "FFF"
' The following statement returns True (does "aBBBa" have an "a" at the
'    beginning, an "a" at the end, and any number of characters in 
'    between?)
testCheck = "aBBBa" Like "a*a"
' The following statement returns True (does "F" occur in the set of
'    characters from "A" through "Z"?)
testCheck = "F" Like "[A-Z]"
' The following statement returns False (does "F" NOT occur in the 
'    set of characters from "A" through "Z"?)
testCheck = "F" Like "[!A-Z]"
' The following statement returns True (does "a2a" begin and end with
'    an "a" and have any single-digit number in between?)
testCheck = "a2a" Like "a#a"
' The following statement returns True (does "aM5b" begin with an "a",
'    followed by any character from the set "L" through "P", followed
'    by any single-digit number, and end with any character NOT in
'    the character set "c" through "e"?)
testCheck = "aM5b" Like "a[L-P]#[!c-e]"
' The following statement returns True (does "BAT123khg" begin with a
'    "B", followed by any single character, followed by a "T", and end
'    with zero or more characters of any type?)
testCheck = "BAT123khg" Like "B?T*"
' The following statement returns False (does "CAT123khg"?) begin with
'    a "B", followed by any single character, followed by a "T", and
'    end with zero or more characters of any type?)
testCheck = "CAT123khg" Like "B?T*"

참고하십시오