【发布时间】:2013-11-04 23:21:07
【问题描述】:
编辑:所以事实证明我之前的数据是正确的,我只是计算索引错误。不过还是感谢您的意见。
使用一种方法来查找用户给定字符串中的所有子字符串索引。我在从 userString.IndexOf 获取正确位置时遇到问题。我知道它正在查找所有出现的子字符串,但整数索引有很大的偏差。
private static void getSubStringPositions(string userString, string userSubString)
{
string subStringPositions = "";
int position = 0;
if (userString.IndexOf(userSubString, position) == -1)
{
Console.WriteLine("Your sub-string was not found in your string.\n");
return;
}
while (position < userString.Length)
{
position += userString.IndexOf(userSubString, position);
subStringPositions += Convert.ToString(position) + ", ";
}
Console.WriteLine("The occurernce(s) for your sub-string are: " + subStringPositions + "\n\n");
return;
}
我认为这可能是position += userString.IndexOf(userSubString, position); 的问题,但我不完全确定如何设置新的起始位置,同时保持子字符串位置的准确记录。
【问题讨论】:
-
找到的位置是相对于基本字符串的,而不是相对于起始位置的。
标签: c# string loops indexing indices