在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
方法查找最后一个匹配项的位置。