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

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

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

目次

受講者数No.1!初心者からプロへ導く信頼のスクール

    短期間で習得可能!未経験から実践力を磨く充実のプログラム

    今なら無料相談でAmazonギフトカードがもらえる!

    指定文字の位置を調べる

     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


    目次