Like İş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 Option Compare 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: Bir Dizeyi Belirli Bir Desene Göre Eşleştirme (Visual Basic).
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.
Birden ç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.
Tire 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. İşleç 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: Bir Dizeyi Belirli Bir Desene Göre Eşleştirme (Visual Basic)
Başvuru
Karşılaştırma İşleçleri (Visual Basic)
Visual Basic'de İşleç Önceliği
İşlevselliğe Göre Listelenmiş İşleçler (Visual Basic)