C# String.IndexOf()方法: 搜索指定的字符串并返回它的第一个匹配项的索引

  • Post category:C#

String.IndexOf() 是 C# 中字符串类型 String 提供的方法之一,用于查找字符串中指定子字符串的位置的索引值。它的用法如下:

public int IndexOf(string value);

其中,value 参数为需要查找的子字符串。该方法返回查找到的子字符串在原字符串中的索引位置(如果存在),否则返回 -1。

下面通过两个实例来说明该方法的使用方法:

首先,我们假设在一个字符串中查找子字符串 “hello”,如果存在,则输出它的索引位置,否则输出 “Not found!”。

string str = "Hello, world!";
int index = str.IndexOf("hello");

if (index != -1)
{
    Console.WriteLine($"'hello' found at index {index}");
}
else
{
    Console.WriteLine("Not found!");
}

运行结果为:

Not found!

原因是由于字符串 “Hello, world!” 中并没有包含子字符串 “hello”。

接下来,我们假设需要从一个字符串中截取从某个子字符串开始到结尾的一段内容,可以使用该方法来查找子字符串的位置并截取后面的内容。

string str = "We are learning C# programming language.";
string subStr = "learning";

int index = str.IndexOf(subStr);

if (index != -1)
{
    string result = str.Substring(index + subStr.Length);
    Console.WriteLine($"Substring: '{result}'");
}
else
{
    Console.WriteLine("Not found!");
}

运行结果为:

Substring: ' C# programming language.'

其中,Indexof() 方法查找到 “learning” 的位置索引为 7,加上该子字符串的长度,即为后面需要截取的起始位置。截取的结果即为字符串中索引位置 11 之后的内容。

通过以上两个例子,可以看到 IndexOf() 方法的使用方法。它可以用来查找字符串中的子字符串并返回位置索引,也可以结合其他字符串操作方法来获取子串的内容,非常实用。