vb like演算子
vb like演算子
likeとは
英語の意味は以下のようなという意味があります
like演算子とは文字列と一致しているを比較します。
構文
if 文字列 like パターン then
end if
? 任意の一文字
* 任意の複数文字
# 任意の数字一文字
とりあえずサンプルソース
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If TextBox1.Text Like “aaa” Then
TextBox1.Text = “一致しました”
Else
TextBox1.Text = “一致しません”
End If
End Sub
End Class
このサンプルはテキストボックスに文字を入力して
ボタンを押したとき
一致しているか調べます。
調べるパターンはlikeの後ろのパターンです。
この場合textboxと比較してます。
このさんぷるでaaaとAAAと試したところ。
二つとも一致しますと表示されました。
大文字と小文字は同一認識するみたいです。
文字数も比較対象なのでaaaaでは一致しませんと表示されます。
サンプル2
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If TextBox1.Text Like “a?a” Then
TextBox1.Text = “一致しました”
Else
TextBox1.Text = “一致しません”
End If
End Sub
End Class
?任意の一文字は何でもいいので一文字という意味です。
abaと入力した時は実行結果は一致しましたと表示されます。
AdAでは一致しませんになります。
この場合は大文字ではいけないみたいですね。
aweaでは文字数が違うので一致しませんになります。
サンプル3
*は任意の複数ですね。
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If TextBox1.Text Like “a*a” Then
TextBox1.Text = “一致しました”
Else
TextBox1.Text = “一致しません”
End If
End Sub
End Class
azzzzzzaを入力した場合は一致しましたになります。
複数文字だと何文字でもいいみたいですね。
AddfAでは一致しませんになります。
やはり大文字は区別するんですね。
サンプル4
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If TextBox1.Text Like “a#a” Then
TextBox1.Text = “一致しました”
Else
TextBox1.Text = “一致しません”
End If
End Sub
End Class
#は任意の数字一文字です。
a1aだと一致しましたになります。
A1Aの大文字だとやはり一致しませんでした。
パターン指定文字を使用すると大文字と小文字を区別するみたいですね。
サンプル5
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If TextBox1.Text Like “[a-z]” Then
TextBox1.Text = “一致しました”
Else
TextBox1.Text = “一致しません”
End If
End Sub
End Class
こんどは正規表現を使用してみました。
ここでは[a-z]はa-zまで一文字という意味です。
aからzまでのアルファベットを一文字試すと一致しました。
AからZは一致しませんでした。
大文字と小文字はこの場合区別するみたいですね。
ネットで色々検索するとこのlike演算子は使わないほうがいいらしいです。
この検証は2015で検証しました。