C# String.LastIndexOf()方法: 查找指定的子字符串在字符串中最后出现的位置

  • Post category:C#

String.LastIndexOf()是C#中string类的一个方法,用于查找指定子字符串在字符串中最后一次出现的位置。其函数声明如下:

public int LastIndexOf(string value);

该方法接收一个参数value,代表要查找的字符串。当该方法在调用字符串中找不到指定的字符串时,将返回-1

下面通过两个实例来说明String.LastIndexOf()的使用方法:

实例一

在一个文本编辑器中查找最后一个出现的---符号。具体代码实现如下:

string text = "这是一段示例文本---这是一段示例文本";
int index = text.LastIndexOf("---");
if (index > 0) 
{
    Console.WriteLine("最后一个出现的'---'符号在文本中的位置为: " + index);
} 
else 
{
    Console.WriteLine("'---'符号未在文本中找到。");
}

输出结果为:最后一个出现的'---'符号在文本中的位置为: 24

在上面的示例中,string类型的变量text包含了要查找的文本。int类型的变量index保存了要查找的字符串在text中最后一次出现的位置。如果字符串valuetext中没有找到,则index的值为-1。在该示例中,值为24表示最后一个---符号在文本中的位置为24

实例二

查找字符串中最后一个出现的某个字符,例如查找文件名中的文件扩展名。具体代码实现如下:

string filename = "example.docx";
int index = filename.LastIndexOf(".");
if (index > 0) 
{
    Console.WriteLine("文件扩展名为: " + filename.Substring(index + 1));
} 
else 
{
    Console.WriteLine("文件名格式错误");
}

输出结果为:文件扩展名为: docx

在上面的示例中,字符串filename包含了要查找的文件名。int类型的变量index保存了.filename中最后一次出现的位置。通过string.Substring()方法截取了文件名字符串中最后一个.之后的字符串,即为文件扩展名。

综上所述,String.LastIndexOf()方法在C#中可以用于查找字符串中最后一次出现某个字符的位置,常见的应用场景包括查找文件扩展名等。