文字の操作:文字列の検索

VB6やVBAで文字列を検索する場合、INSTR関数を使用しますが、VB2008では IndexOfメソッドを使います。
文末から検索する場合は、LastIndexOfメソッドを使います。

文字の操作へ



■実行画面

「先頭から検索」ボタンをクリックすると、「VB2」を先頭から検索します。
IndexOfで検索した結果

「文末から検索」ボタンをクリックすると、「VB2」を文末から検索します。
LastIndexOfで検索した結果

■実行コード

Public Class Form1

'先頭から検索
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim pt As Integer
Dim sp As Integer
Dim sc As String

sp = 0
sc = TextBox2.Text
pt = TextBox1.Text.IndexOf(sc, sp)
If pt >= 0 Then
TextBox1.Select()
TextBox1.Select(pt, sc.Length)
TextBox1.HideSelection = True
End If

End Sub

'文末から検索
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim pt As Integer
Dim sp As Integer
Dim sc As String

sc = TextBox2.Text
sp = TextBox1.Text.Length
pt = TextBox1.Text.LastIndexOf(sc, sp)
If pt >= 0 Then
TextBox1.Select()
TextBox1.Select(pt, sc.Length)
TextBox1.HideSelection = True
End If
End Sub
End Class


Visual Basic 2008 Express Edition実践入門