VB.NETで文字列に特定の文字列を含むか検索して、確認する方法について書いています。
対象の文字列に、指定した特定の文字列を含むか確認するには、下記のメソッドを使うことができます。
・文字列からIndexOfメソッドを呼び出す。
載せているコードについては、.Netのバージョン7で確認しました。
Containsメソッドの使い方
文字列からContainsメソッドを呼び出して使うことで、指定した文字列を含むか確認することができます。
例えば、下記のように使うことができます。
Dim text As String = "apple orange grape"
Dim searchText As String = "orange"
Dim isContains = text.Contains(searchText)
If isContains Then
Console.WriteLine("orangeが含まれています!")
End If
最初にtext
変数に文字列の「apple orange grape
」を入れました。
次にsearchText
変数に文字列の「orange
」を入れています。これが検索する文字列です。
そして、text
変数(文字列)からContainsメソッドを呼んでいます。
引数として渡しているのは、検索したい文字列です。
これで、text
変数(文字列)から探したい文字列の「orange
」があるか確認できます。
結果をisContains
変数に取得しています。
存在するときにはTrue
が返ってきて、存在しないときにはFalse
が返ってきます。
今回は存在するので、True
が返ってきて「"orangeが含まれています!"
」が出力されてプログラムが終わります。
引数と戻り値のまとめ
Containsメソッドの引数と戻り値のまとめです。
引数
検索したい文字列を渡します。
String.Contains("検索したい文字列")
戻り値
検索結果として、検索文字列を含んでいればTrueが返ってきます。
含んでいないときにはFalseが返ってきます。
IndexOfメソッドの使い方
文字列からIndexOfメソッドを呼び出して使うことで、指定した文字列が含まれている位置を取得できます。
Dim text As String = "coffee water cola beer"
Dim searchText As String = "cola"
Dim index = text.IndexOf(searchText)
If index > 0 Then
Console.WriteLine("colaが含まれています!")
End If
最初にtext
変数に文字列の「coffee water cola beer
」を入れました。
次にsearchText
変数に文字列の「cola
」を入れています。IndexOfメソッドで、この文字列の位置を調べることができます。
text
変数(文字列)からIndexOfメソッドを呼んでいます。
引数として渡しているsearchText
変数が検索文字列になります。
検索文字列があったときには、検索対象の文字列を0番目から数えて、存在する位置が返ってきます。
検索対象の文字列に含まれていないときには「-1
」が返ってきます。
今回は「cola
」が検索対象の文字列に含まれています。
文字列の先頭が0番目で、スペースも含めて「13」がindex
変数に返ってきます。
if文で「0」より大きいとしているので、これで含まれることになります。
今回は存在するので、「13」が返ってきて、「colaが含まれています!
」が出力されて処理が終わります。
引数と戻り値のまとめ
IndexOfメソッドの引数と戻り値のまとめです。
引数
検索したい文字列を渡します。
String.IndexOf("検索したい文字列")
戻り値
結果として、検索文字列を含んでいれば、文字列の含まれている位置が返ってきます。
文字列は先頭を0番目から数えて、検索文字列の開始位置が取得できます。
含んでいないときには「-1
」が返ってきます。
文字列に含むか検索して確認する方法まとめ
今回は、VB.NETで文字列に含むか検索して確認する方法について書きました。
記事の内容をまとめると、下記のようになります。
・Containsメソッドには検索したい文字列を渡す。存在すれば`True`が返ってくる。
・検索対象の文字列からIndexOfメソッドを呼び出すと、開始位置を検索結果として返す。
・IndexOfメソッドには検索したい文字列を渡す。存在すれば開始位置、存在しないときには-1が返る。
単純にあるかどうかを確認したいときにはContainsメソッドを使いましょう。
開始位置が欲しいときにはIndexOfメソッドを使うと良いかと思います。
コメント