Operator Like (Visual Basic)
Membandingkan string dengan suatu pola.
Penting
Operator Like
saat ini tidak didukung dalam proyek .NET Core dan .NET Standard.
Sintaks
result = string Like pattern
Generator
result
Harus diisi. Variabel Boolean
apa pun. Hasilnya adalah nilai Boolean
yang menunjukkan apakah string
memenuhi pattern
atau tidak.
string
Harus diisi. Ekspresi String
apa pun.
pattern
Harus diisi. Ekspresi String
apa pun yang sesuai dengan konvensi pencocokan-pola yang dijelaskan dalam "Keterangan."
Keterangan
Jika nilai dalam string
memenuhi pola yang terkandung dalam pattern
, result
adalah True
. Jika string tidak memenuhi polanya, result
adalah False
. Jika keduanya string
dan pattern
merupakan string kosong, hasilnya adalah True
.
Metode Perbandingan
Perilaku operator Like
tergantung pada Pernyataan Perbandingan Opsi. Metode perbandingan string default untuk setiap file sumber adalah Option Compare Binary
.
Opsi Pola
Pencocokan pola-bawaan menyediakan alat serbaguna untuk perbandingan string. Fitur pencocokan -pola memungkinkan Anda mencocokkan setiap karakter dalam string
dengan karakter tertentu, karakter kartubebas, daftar karakter, atau rentang karakter. Tabel berikut ini memperlihatkan karakter yang diizinkan masuk pattern
dan apa yang cocok.
Karakter dalam pattern |
Cocok dengan string |
---|---|
? |
Setiap karakter tunggal |
* |
Nol karakter atau lebih |
# |
Digit tunggal apa pun (0–9) |
[charlist] |
Setiap karakter tunggal dalam charlist |
[!charlist] |
Setiap karakter tunggal yang tidak ada di charlist |
Daftar Karakter
Sekelompok satu atau beberapa karakter (charlist
) yang diapit dalam tanda kurung siku ([ ]
) dapat digunakan untuk mencocokkan karakter tunggal string
dan dapat menyertakan hampir semua kode karakter apa pun, termasuk digit.
Tanda seru (!
) di awal charlist
berarti bahwa kecocokan dibuat jika ada karakter kecuali karakter dalam charlist
ditemukan di string
. Ketika digunakan di luar tanda kurung siku, tanda seru cocok dengan dirinya sendiri.
Karakter Khusus
Untuk mencocokkan karakter khusus kurung siku kiri ([
), tanda tanya (?
), tanda angka (#
), dan tanda bintang (*
), sertakan dalam tanda kurung siku. Kurung siku kanan (]
) tidak dapat digunakan dalam grup untuk mencocokkan dirinya sendiri, tetapi dapat digunakan di luar grup sebagai karakter individual.
Urutan karakter []
dianggap sebagai string panjang-nol (""
). Namun, itu tidak dapat menjadi bagian dari daftar karakter yang diapit dalam tanda kurung. Jika Anda ingin memeriksa apakah posisi di string
berisi salah satu dari sekelompok karakter atau tidak ada karakter sama sekali, Anda dapat menggunakan Like
dua kali. Misalnya, lihat Cara: Mencocokkan String dengan Pola.
Rentang Karakter
Dengan menggunakan tanda hubung (–
) untuk memisahkan batas bawah dan atas rentang, charlist
dapat menentukan rentang karakter. Misalnya, [A–Z]
menghasilkan kecocokan jika posisi karakter yang sesuai dalam string
berisi karakter apa pun dalam rentang A
–Z
, dan [!H–L]
menghasilkan kecocokan jika posisi karakter yang sesuai berisi karakter apa pun di luar rentang H
–L
.
Saat Anda menentukan rentang karakter, mereka harus muncul dalam urutan naik, yaitu, dari terendah hingga tertinggi. Dengan demikian, [A–Z]
adalah pola yang valid, tetapi [Z–A]
tidak.
Beberapa Rentang Karakter
Untuk menentukan beberapa rentang untuk posisi karakter yang sama, tempatkan rentang dalam tanda kurung yang sama tanpa pemisah. Misalnya, [A–CX–Z]
menghasilkan kecocokan jika posisi karakter yang sesuai dalam string
berisi karakter apa pun dalam rentang A
–C
atau rentang X
-Z
.
Penggunaan Tanda Hubung
Tanda hubung (–
) dapat muncul baik di awal (setelah tanda seru, jika ada) atau di akhir charlist
untuk mencocokkan dirinya sendiri. Di lokasi lain, tanda hubung mengidentifikasi rentang karakter yang dipisahkan oleh karakter di kedua sisi tanda hubung.
Membandingkan Urutan
Arti dari rentang yang ditentukan tergantung pada pengurutan karakter pada durasi, seperti yang ditentukan oleh Option Compare
dan pengaturan lokal sistem yang dijalankan kode. Dengan Option Compare Binary
, rentang [A–E]
cocok dengan A
, B
, C
, D
, dan E
. Dengan Option Compare Text
, [A–E]
cocok dengan A
, a
, À
, à
, B
, b
, C
, c
, D
, d
, E
, dan e
. Rentang tidak cocok Ê
atau ê
karena karakter beraksen disusun setelah karakter yang tidak beraksen dalam urutan pengurutan.
Karakter Digraf
Dalam beberapa bahasa, ada karakter alfabet yang mewakili dua karakter terpisah. Misalnya, beberapa bahasa menggunakan karakter æ
untuk mewakili karakter a
dan e
saat muncul bersamaan. Operator Like
mengenali bahwa karakter digraf tunggal dan dua karakter individual setara.
Saat bahasa yang menggunakan karakter digraph ditentukan dalam pengaturan lokal sistem, kemunculan karakter digraf tunggal dalam salah satu pattern
atau string
cocok dengan urutan dua karakter yang setara di string lainnya. Demikian pula, karakter digraf dalam pattern
diapit dalam tanda kurung siku (dengan sendirinya, dalam daftar, atau dalam rentang) cocok dengan urutan dua karakter yang setara di string
.
Kelebihan beban
Operator Like
dapat kelebihan beban, yang berarti bahwa kelas atau struktur dapat mendefinisikan ulang perilakunya saat operand memiliki jenis kelas atau struktur tersebut. Jika kode Anda menggunakan operator ini pada kelas atau struktur seperti itu, pastikan Anda memahami perilakunya yang didefinisikan ulang. Untuk informasi lebih lanjut, lihat Prosedur Operator.
Contoh
Contoh ini menggunakan operator Like
untuk membandingkan string dengan berbagai pola. Hasilnya masuk ke variabel Boolean
yang menunjukkan apakah setiap string memenuhi pola.
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*"
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk