如何將逗號分隔的字符串拆分爲較小的以逗號分隔的字符串?將逗號分隔的字符串拆分爲較小的字符串
我的字符串如下所示:1,2,3,4,5,6,7,8,9,10
我需要,
字符的每第n發生後的字符串分割。
例如對於每3出現,上面的字符串就會變成這些字符串:
1,2,3,4
5,6,7,8
9,10
可能看起來像功課,但它不是,我的大腦只是累了,但我仍然需要完成工作。
如何將逗號分隔的字符串拆分爲較小的以逗號分隔的字符串?將逗號分隔的字符串拆分爲較小的字符串
我的字符串如下所示:1,2,3,4,5,6,7,8,9,10
我需要,
字符的每第n發生後的字符串分割。
例如對於每3出現,上面的字符串就會變成這些字符串:
1,2,3,4
5,6,7,8
9,10
可能看起來像功課,但它不是,我的大腦只是累了,但我仍然需要完成工作。
嘗試中,你算逗號;-)
未經檢驗的一個循環,它可能看起來像:
int lastSplit = 0;
int commaCount = 0;
int n = 4;
List<string> parts = new List<string>();
for (int i = 0; i < s.Length; i++)
{
if (s[i] == ',' && ++commaCount == n)
{
commaCount = 0;
parts.Add(s.Substring(lastSplit, i - lastSplit));
lastSplit = i + 1;
}
}
parts.Add(s.Substring(lastSplit));
你可以通過正則表達式做到這一點。嘗試使用((?:[^,]+)(?:,(?:(?:[^,]*))){0,3})
對rubular
哦,然後你只需要換掉正則表達式中的「3」就可以得到任何數量的逗號。
那麼,
[TestMethod]
public void test()
{
string text = "1,2,3,4,5,6,7,8,9,10";
var lists = Regex.Matches(text, ".,.,.,.");
foreach (var x in lists)
{
Console.WriteLine(x.ToString());
}
}
很好,謝謝。 – Niklas 2012-02-17 09:15:34