在C#中,IndexOf
方法用于查找一个字符串在另一个字符串中首次出现的位置。它不能直接查找非连续字符,但你可以通过遍历字符串并使用IndexOf
方法来查找非连续字符序列。
例如,假设你想查找字符串"hello"中的"l"字符,你可以使用以下代码:
string str = "hello"; char targetChar = 'l'; int index = 0; while ((index = str.IndexOf(targetChar, index)) != -1) { Console.WriteLine($"Found '{targetChar}' at position {index}"); index++; // 移动到下一个字符,以便查找下一个匹配项 }
这将输出:
Found 'l' at position 2 Found 'l' at position 3
请注意,IndexOf
方法在查找子字符串时也会返回非连续字符序列的位置。例如,str.IndexOf("ll")
将返回2,因为"ll"子字符串从索引2开始。