String.LastIndexOfメソッドは、IndexOfメソッドとは逆に後ろから探索を行い、文字列内にある部分文字列の最後のインデックスを返します。 文字列内に部分文字列がない場合はIndexOfメソッドと同様に-1が返されます。
String.LastIndexOfメソッドを使って部分文字列のある位置を文字列の末尾側から探索する
using System;
class Sample {
static void Main()
{
var s = "foo bar foo";
Console.WriteLine(s.IndexOf("foo")); // 先頭側から見て最初にある"foo"の位置が返される
Console.WriteLine(s.LastIndexOf("foo")); // 末尾側から見て最初にある"foo"の位置が返される
// 部分文字列が見つからない場合は、どちらも-1を返す
Console.WriteLine(s.IndexOf("baz"));
Console.WriteLine(s.LastIndexOf("baz"));
}
}
実行結果
0 8 -1 -1