文字列の中に指定文字が何文字目にあるか調べることはできますか?
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の解説
String.IndexOf メソッド (System)
このインスタンス内で最初に出現する指定 Unicode 文字または文字列の 0 から始まるインデックスをレポートします。 このインスタンス内で文字または文字列が見つからない…
コメント