VBA varat salīdzināt divas virknes, izmantojot Patīk operators, lai pārbaudītu virkņu atbilstību. Šajā apmācībā jūs uzzināsit, kā izmantot šo operatoru ar dažādiem modeļiem.
Ja vēlaties uzzināt, kā salīdzināt virknes VBA, noklikšķiniet šeit: VBA Salīdzināt virknes - StrComp
Ja vēlaties uzzināt, kā izmantot salīdzināšanas operatorus, noklikšķiniet šeit: VBA salīdzināšanas operatori - nav vienādi ar citiem
Operatora Like izmantošana divu virkņu salīdzināšanai
Izmantojot operatoru Like, mēs varam pārbaudīt, vai virkne sākas ar noteiktu tekstu, ietver to utt. Pēc noklusējuma Patīk operators salīdzina rakstzīmes, izmantojot bināro metodi. Tas nozīmē, ka operators ir reģistrjutīgs. Ja vēlaties, lai tas nejustu reģistrus, jums jāievieto Opcija Salīdzināt tekstu moduļa augšpusē. Izmantojot šo metodi ,. Patīk operators uzskata, ka “S” un “s” ir tās pašas rakstzīmes. Mūsu piemēros mēs izmantosim noklusējuma salīdzinājumu, reģistrjutīgu.
Ja atbilstība pastāv, Patīk kā rezultātā operators atgriež patiesu vai citādi nepareizu.
Pirmkārt, mēs apskatīsim vienkāršo piemēru, kurā vēlamies pārbaudīt, vai mūsu virknes mainīgais sākas ar Kungs. Lai to izdarītu, atbilstošā teksta beigās jāievieto zvaigznīte (*) (* Kungs). Šeit ir kods:
1234567891011121314 | Sub LikeDemo ()Dim strName As StringDim blnResult Kā BūlastrName = "Maikla Džeimsa kungs"Ja strName Tāpat kā "Mr*" TadblnResult = PatiessCitādiblnResult = NepareiziBeigas JaBeigu apakš |
Šajā piemērā mēs vēlamies pārbaudīt, vai virkne strName sākas ar Kungs un mainīgajā atgrieziet patiesu vai nepatiesu blnResult.
Pirmkārt, mēs iestatām vērtību strName uz Maikla Džeimsa kungs:
1 | strName = "Maikla Džeimsa kungs" |
Tad mēs izmantojam Patīk operators If paziņojumā:
12345 | Ja strName Tāpat kā "Mr*" TadblnResult = PatiessCitādiblnResult = NepareiziBeigas Ja |
Kā strName sākas ar Kungs, blnResult atgriež True:
Attēls 1. Izmantojot operatoru Like, lai pārbaudītu, vai virkne sākas ar noteiktām rakstzīmēm
Operatora Patīk izmantošana ar dažādiem atbilstošiem modeļiem
Operators Patīk var pārbaudīt divu virkņu atbilstību, pamatojoties uz dažādiem modeļiem. Šeit ir iespējamo atbilstības modeļu saraksts:
Modeļa kods |
Atbilstības veids |
* | Atbilst 0 vai vairāk rakstzīmēm |
? | Atbilst vienai rakstzīmei |
# | Atbilst vienam ciparam |
[rakstzīmes] | Atbilst vienai rakstzīmei no simbolu saraksta |
[A – Z] | Atbilst jebkuram lielajam burtam no alfabēta |
[A-Za-z] | Atbilst jebkurai alfabēta rakstzīmei |
[! rakstzīmes] | Atbilst vienai rakstzīmei, izņemot simbolu sarakstu |
Tagad mēs varam redzēt, kā izmantot šos modeļus kodā. Šeit ir piemērs vairākiem modeļiem:
Atsevišķas rakstzīmes atbilstība:
1234567 | strText1 = "ABCDE"Ja strText1 Patīk "AB? DE" TadblnResult1 = PatiessCitādiblnResult1 = NepareiziBeigas Ja |
Atbilst viens cipars:
1234567 | strText2 = "AB7DE"Ja strText2 patīk "AB#DE", tadblnResult2 = PatiessCitādiblnResult2 = NepareiziBeigas Ja |
Jebkuru lielo burtu atbilstība alfabētā:
1234567 | strText3 = "ABCDE"Ja strText3 patīk "AB [A-Z] DE", tadblnResult3 = PatiessCitādiblnResult3 = NepareiziBeigas Ja |
Neatbilst nevienam lielajam burtam no alfabēta:
1234567 | strText4 = "AB7DE"Ja strText4 patīk "AB [! A-Z] DE" TadblnResult4 = PatiesaCitādiblnResult4 = NepareiziBeigas Ja |
Jebkura alfabēta rakstzīme (lielie vai mazie):
1234567 | strText5 = "ABcDE"Ja strText5 patīk "AB [A-Za-z] DE" TadblnResult5 = PatiesaCitādiblnResult5 = NepareiziBeigas Ja |
Izpildot kodu, jūs varat redzēt, ka Patīk operators atgriež True in blnResult mainīgie katram salīdzinājumam:
2. attēls. Izmantojot operatoru Like ar dažādiem atbilstības modeļiem