Operator podobny do VBA

W VBA możesz porównać dwa ciągi za pomocą Lubić operator, aby sprawdzić dopasowanie ciągów. W tym samouczku dowiesz się, jak używać tego operatora z różnymi wzorcami.

Jeśli chcesz dowiedzieć się, jak porównywać ciągi znaków w VBA, kliknij tutaj: VBA Compare Strings - StrComp

Jeśli chcesz dowiedzieć się, jak korzystać z operatorów porównania, kliknij tutaj: Operatory porównania VBA - nierówne i więcej

Używanie operatora Like do porównywania dwóch ciągów

Za pomocą operatora Like możemy sprawdzić, czy ciąg zaczyna się od określonego tekstu, czy go zawiera itp. Domyślnie Lubić operator porównuje znaki przy użyciu metody Binary. Oznacza to, że operator rozróżnia wielkość liter. Jeśli chcesz, aby wielkość liter nie była rozróżniana, musisz umieścić Opcja Porównaj tekst u góry modułu. Korzystając z tej metody, Lubić operator uważa „S” i „s” za te same znaki. W naszych przykładach użyjemy domyślnego porównania uwzględniającego wielkość liter.

Jeśli dopasowanie istnieje, Lubić operator zwraca True w wyniku lub False w przeciwnym razie.

Najpierw przyjrzymy się prostemu przykładowi, w którym chcemy sprawdzić, czy nasza zmienna łańcuchowa zaczyna się od Pan. Aby to zrobić, musisz umieścić gwiazdkę (*) na końcu pasującego tekstu (Pan*). Oto kod:

1234567891011121314 Sub LikeDemo()Dim strName jako ciągDim blnResult As BooleanstrName = "Pan Michael James"Jeśli strName Like "Pan*" WtedyblnWynik = PrawdaW przeciwnym razieblnWynik = FałszZakończ, jeśliNapis końcowy

W tym przykładzie chcemy sprawdzić, czy string strNazwa Zaczyna się z Pan i zwróć w zmiennej True lub False blnWynik.

Najpierw ustalamy wartość strNazwa do Pan Michael James:

1 strName = "Pan Michael James"

Następnie używamy Lubić operator w instrukcji If:

12345 Jeśli strName Like "Pan*" WtedyblnWynik = PrawdaW przeciwnym razieblnWynik = FałszZakończ, jeśli

Jako strNazwa Zaczyna się z Pan, ten blnWynik zwraca True:

Obraz 1. Użycie operatora Like do sprawdzenia, czy ciąg zaczyna się od określonych znaków

Używanie operatora Like z różnymi wzorcami dopasowania

Operator Like może sprawdzić dopasowanie dwóch ciągów na podstawie różnych wzorców. Oto lista możliwych pasujących wzorców:

Kod wzoru

Rodzaj dopasowania

*

Dopasowuje 0 lub więcej znaków

?

Dopasowuje jeden znak

#

Dopasowuje jedną cyfrę

[znaki]

Dopasowuje pojedynczy znak z listy znaków

[A-Z]

Dopasowuje dowolną wielką literę z alfabetu

[A-Za-z]

Dopasowuje dowolny znak z alfabetu

[!znaki]

Dopasowuje pojedynczy znak z wyjątkiem listy znaków

Teraz możemy zobaczyć, jak wykorzystać te wzorce w kodzie. Oto przykład dla wielu wzorów:

Dopasowanie pojedynczego znaku:

1234567 strTekst1 = "ABCDE"Jeśli strText1 Jak "AB?DE" WtedyblnWynik1 = PrawdaW przeciwnym razieblnWynik1 = FałszZakończ, jeśli

Dopasowanie pojedynczej cyfry:

1234567 strTekst2 = "AB7DE"Jeśli strText2 Jak "AB#DE" WtedyblnWynik2 = PrawdaW przeciwnym razieblnWynik2 = FałszZakończ, jeśli

Dopasowanie dowolnej wielkiej litery z alfabetu:

1234567 strTekst3 = "ABCDE"Jeśli strText3 Jak "AB[A-Z]DE" WtedyblnWynik3 = PrawdaW przeciwnym razieblnWynik3 = FałszZakończ, jeśli

Nie pasuje do żadnej wielkiej litery z alfabetu:

1234567 strTekst4 = "AB7DE"Jeśli strText4 Jak "AB[!A-Z]DE" WtedyblnWynik4 = PrawdaW przeciwnym razieblnWynik4 = FałszZakończ, jeśli

Dopasowanie dowolnego znaku z alfabetu (duże lub małe):

1234567 strText5 = "ABcDE"Jeśli strText5 Jak "AB[A-Za-z]DE" WtedyblnWynik5 = PrawdaW przeciwnym razieblnWynik5 = FałszZakończ, jeśli

Po wykonaniu kodu widać, że Lubić operator zwraca True w blnWynik zmienne dla każdego porównania:

Obraz 2. Używanie operatora Like z różnymi wzorcami dopasowania

wave wave wave wave wave