我有一個大字符串需要解析,我需要找到的所有實例,並將每個索引存儲到列表中。在C#中查找更大字符串中子字符串的所有位置
所以說這段字符串在大字符串的開頭和中間,它們都會被找到,並且它們的索引將被添加到List
。而List
將包含0
和其他索引,不管它是什麼。
我一直在玩弄和string.IndexOf
確實幾乎什麼,我找了,我已經寫了一些代碼 - 但它不工作,我一直無法弄清楚到底什麼是錯的:
List<int> inst = new List<int>();
int index = 0;
while (index < source.LastIndexOf("extract\"(me,i-have lots. of]punctuation", 0) + 39)
{
int src = source.IndexOf("extract\"(me,i-have lots. of]punctuation", index);
inst.Add(src);
index = src + 40;
}
inst
=名單source
=大串
有什麼更好的想法?
爲什麼不使用IEnumerable併產生返回索引而不是索引列表? –
m0sa
2010-04-15 01:15:12
@ m0sa:好點。爲了它的樂趣增加了另一個版本。 – 2010-04-15 08:28:42
收益率的使用是否會影響業績?對象的檢索是異步還是懶惰? Os只是語法糖,兩個代碼都是一樣的? – PedroC88 2013-10-01 15:17:42