在C#中,IndexOf方法用于查找一个字符串在另一个字符串中首次出现的位置。如果你想要查找多个匹配项,可以使用IndexOf方法的变体,如IndexOfAny或LastIndexOfAny。
IndexOfAny方法接受一个字符数组作为参数,并返回指定字符集中的第一个字符在源字符串中第一次出现的位置。你可以使用这个方法来查找多个匹配项。以下是一个示例:
using System;
class Program
{
static void Main()
{
string text = "hello world, welcome to the world of programming";
char[] charsToFind = { 'o', 'l', 'r' };
int firstIndex = text.IndexOfAny(charsToFind);
while (firstIndex != -1)
{
Console.WriteLine("Found '{0}' at position {1}", charsToFind[firstIndex], firstIndex);
firstIndex = text.IndexOfAny(charsToFind, firstIndex + 1);
}
}
}
在这个示例中,我们查找字符串text中字符'o'、'l'和'r'的首次出现位置。IndexOfAny方法返回第一个匹配项的位置,然后我们使用while循环继续查找后续匹配项。注意,我们在每次迭代时更新firstIndex的值,以便从上次找到的匹配项之后的位置开始查找。
类似地,你可以使用LastIndexOfAny方法查找最后一个匹配项的位置。