Aracılığıyla paylaş


Like işleci (Visual Basic)

Bir dize deseni karşı karşılaştırır.

result = string Like pattern

Bölümleri

  • result
    Gerekli.Herhangi bir Boolean değişkeni.Sonuç bir Boolean değerini gösteren olmasa da string karşılayan pattern.

  • string
    Gerekli.Herhangi bir String ifadesi.

  • pattern
    Gerekli.Herhangi bir String "İçinde açıklamalar" açıklanan desen eşleştirme kuralları uyan ifade

Notlar

Varsa değeri string bulunan desen karşılayan pattern, result olan True.Dize kalıbını karşılamıyor, result olan False.Her iki string ve pattern boş dizeler, sonuç True.

Karşılaştırma yöntemi

Davranışını Like operator bağlıdır Seçenek karşılaştırma deyimi.Her kaynak dosyası için varsayılan dize karşılaştırma yöntemi Option Compare Binary.

Desen seçenekleri

Yerleşik desen eşleştirme dize karşılaştırmaları için çok yönlü bir araç sağlar.Her bir karakteri eşleştirmek desen eşleştirme özellikleri izin string karşı belirli bir karakter, bir joker karakter, karakter listesi veya karakter aralığı.Aşağıdaki tabloda, izin verilen karakter gösterir pattern ve bunların eşleşmesi.

Karakterpattern

Eşleşmelerstring

?

Herhangi bir tek karakter

*

Sıfır veya daha çok karakter

#

Herhangi bir tek rakam (0-9)

[charlist]

Herhangi bir tek karaktercharlist

[!charlist]

Bulunan herhangi bir tek karaktercharlist

Karakter listeleri

Bir veya daha çok karakterden oluşan bir grup (charlist) parantezler içine ([ ]), tek bir karakterle eşleştirmek için kullanılan string ve basamaklar da dahil olmak üzere hemen hemen tüm karakter kodu içerebilir.

Ünlem (!) başında charlist karakterleri dışında herhangi bir karakter, bir eşleşme anlamına gelir charlist içinde bulunan string.Köşeli ayraç içine almazsanız, ünlem kendisiyle eşleşir.

Özel karakterler

Özel karakterler sol ayraç eşleşecek şekilde ([), soru işareti (?), sayı işareti (#) ve yıldız işareti (*), bunları köşeli ayraç içine alın.Sağ köşeli ayraç (]) içindeki bir grubun, kendisini eşlemek için kullanılamaz, ancak grubun dışında bağımsız bir karakter olarak kullanılabilir.

Karakter dizisi [] sıfır uzunluklu bir dize olarak kabul edilir ("").Ancak, parantezler içinde bir karakter listesi parçası olamaz.Bir konumda bulunup bulunmadığını denetlemek istiyorsanız, string içerir kullanabileceğiniz karakterleri veya hiç bir karakter, bir dizi Like iki kez.Bir örnek için bkz. Nasıl yapılır: (Visual Basic) desen karşı bir dizeyle eşleşen.

Karakter aralığı

Tire kullanarak (–) alt ve üst sınır, ayırmak için charlist karakter aralığı belirtebilirsiniz.Örneğin, [A–Z] karşılık gelen karakter yerleştirin, bir eşleşme sonuçları string aralığındaki herhangi bir karakter içeriyor A–Z, ve [!H–L] karşılık gelen karakter konumu aralığın dışında herhangi bir karakter içeriyorsa, bir eşleşme sonuçları H–L.

Karakter aralığı belirlediğinizde, diğer bir deyişle, en düşükten en yüksek artan sıralama düzeninde görünmelidir.Bu nedenle, [A–Z] geçerli bir örnektir, ancak [Z–A] değil.

swf8kaxw.collapse_all(tr-tr,VS.110).gifBirden çok karakter aralığı

Birden çok aralığı için aynı karakter konumu belirtmek için bunları sınırlayıcıları olmadan aynı parantez içine yerleştirin.Örneğin, [A–CX–Z] karşılık gelen karakter yerleştirin, bir eşleşme sonuçları string ya da aralıktaki herhangi bir karakter içeriyor A–C veya aralık X–Z.

swf8kaxw.collapse_all(tr-tr,VS.110).gifTire kullanımı

Tire (–) (sonra bir ünlem, varsa) başında veya sonunda charlist kendini eşleştirmek için.Herhangi bir başka konumda her iki tarafında tire karakteri tarafından ayrılmış karakter aralığı tire tanımlar.

Harmanlama sırası

Belirtilen aralık anlamını belirlendiği çalışma zamanında sıralama karakter bağlıdır OptionCompare ve sistem yerel ayarı kod çalıştırma.With OptionCompareBinary, the range [A–E] matches A, B, C, D, and E.With OptionCompareText, [A–E] matches A, a, À, à, B, b, C, c, D, d, E, and e.Aralık eşleşmiyor Ê veya ê sonra vurgulanmamış karakter sıralama düzeninde aksanlı karakterler harmanlamak çünkü.

Digraph karakterler

Bazı dillerde, iki ayrı karakter temsil eden alfabetik karakterler vardır.Örneğin, birkaç dil karakter kullanan æ karakterleri temsil etmek için a ve e ne zaman göründükleri birlikte.Like Operator tanıdığı tek digraph karakter ve iki ayrı karakter eşdeğerdir.

Digraph karakter kullanan bir dil sistem yerel ayarları, belirtilen, ya da tek digraph karakterinin oluşumu pattern veya string eşdeğer iki karakter dizesindeki eşleşir.Benzer şekilde, bir digraph karakter pattern parantezler içine (tek başına, bir liste veya bir aralık) karşılığı iki karakterlik sırayla eşleşen string.

Aşırı

Like İşleç olabilir aşırı, o sınıf veya yapı türü bir işlenen sahip olduğunda bir sınıf veya yapı davranışını tanımlayabilirsiniz, anlamına gelir.Bu tür bir sınıf veya yapı kodunuzu bu işleç kullanıyorsa, yeniden tanımlanan davranışı anladığınızdan emin olun.Daha fazla bilgi için bkz. Operatör yordamları (Visual Basic).

Örnek

Bu örnek Like çeşitli desenler dizeleri karşılaştırma işleci.Sonuçları yerleştirilmesini bir Boolean her dize deseni karşılayıp karşılamadığını belirten değişken.

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*"

Ayrıca bkz.

Görevler

Nasıl yapılır: (Visual Basic) desen karşı bir dizeyle eşleşen

Başvuru

Karşılaştırma işleçleri (Visual Basic)

InStr

Visual Basic'te işleç önceliği

(Visual Basic) işlevine göre listelenen işleçleri

Seçenek karşılaştırma deyimi

StrComp

Kavramlar

İşleçleri ve ifadeleri Visual Basic