VB.NETで文字列に含むか検索して確認する2つの方法!

VB.NET VB.NET

VB.NETで文字列に特定の文字列を含むか検索して、確認する方法について書いています。
対象の文字列に、指定した特定の文字列を含むか確認するには、下記のメソッドを使うことができます。

・文字列からContainsメソッドを呼び出す。
・文字列から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`か`False`で検索結果を返してくれる。
・Containsメソッドには検索したい文字列を渡す。存在すれば`True`が返ってくる。
・検索対象の文字列からIndexOfメソッドを呼び出すと、開始位置を検索結果として返す。
・IndexOfメソッドには検索したい文字列を渡す。存在すれば開始位置、存在しないときには-1が返る。

単純にあるかどうかを確認したいときにはContainsメソッドを使いましょう。
開始位置が欲しいときにはIndexOfメソッドを使うと良いかと思います。

コメント

タイトルとURLをコピーしました