如何将一个约300(n)个单词的字符串拆分成一个包含30个单词的n / 30个字符串数组?
答案 0 :(得分:7)
您可以使用Regex.Matches
:
string[] bits = Regex.Matches(input, @"\w+(?:\W+\w+){0,29}")
.Cast<Match>()
.Select(match => match.Value)
.ToArray();
查看在线工作:ideone
答案 1 :(得分:2)
如果你有一个非常大或很小的字符可以成为字符串的一部分,那么正则表达式分割是有意义的。或者,您可以使用String类的Substring方法来获得所需的结果:
string input = "abcdefghijklmnopqrstuvwxyz";
const int INTERVAL = 5;
List<string> lst = new List<string>();
int i = 0;
while (i < input.Length)
{
string sub = input.Substring(i, i + INTERVAL < input.Length ? INTERVAL : input.Length - i);
Console.WriteLine(sub);
lst.Add(sub);
i += INTERVAL;
}