文字列内に指定文字がどの位置にあるかを調べる[C#/VB]

文字列の中に指定文字が何文字目にあるか調べることはできますか?

IndexOfメソッドを利用することで、文字列が最初に現れる位置を取得することができます。

目次

指定文字の位置を調べる

 Stringオブジェクトの「IndexOf」メソッドを利用することで、指定文字が文字列内の何もじめにあるかを取得することができます。存在した場合、最初に現れる位置をInt型で返します。見つからなかった場合は「-1」を返します。

文字列.IndexOf(指定文字)

 第二引数を指定することで、検索開始位置を指定することができます。
これを利用して、ループ関数を仕様し、2つ目、3つ目の指定文字を探すことも可能です。

文字列.IndexOf(指定文字, 検索開始位置)

以下のサンプルでは、ループを利用し、複数箇所の指定文字を検出を行います。

string moji = "カエルぴょこぴょこむぴょこぴょこ";
List<int> lstIndex = new List<int>();
int index = -1;

while ((true))
{
    index = moji.IndexOf("ぴょこ", index + 1);
    if ((index == -1))
    {
        break; 
    }

    lstIndex.Add(index);
}

foreach (var x in lstIndex)
{
    MessageBox.Show(x.ToString());
}
Dim moji As String = "カエルぴょこぴょこむぴょこぴょこ"
Dim lstIndex As New List(Of Integer)
Dim index As Integer = -1

While (True)

	index = moji.IndexOf("ぴょこ", index + 1)

	If (index = -1) Then
		Exit While
	End If

	lstIndex.Add(index)

End While

For Each x In lstIndex
	MessageBox.Show(x.ToString())
Next
3
6
10
13

リスキリングでキャリアアップしてみませんか?

リスキリング(学び直し)は、経済産業省が推奨しており、

今だけ、最大70%のキャッシュバックを受けることができます。

リスキリング 給付金が出るスクール紹介

最大70%の給付金が出るおすすめのプログラミングスクール!

国策で予算が決められているため申し込みが多い場合は早期に終了する可能性があります!

興味のある方はすぐに確認しましょう。

Microsoft Learnの解説

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次