如何将大约300个单词的字符串分割成由n/30个包含30个单词的字符串组成的数组?
如何将大约300个单词的字符串分割成由n/30个包含30个单词的字符串组成的数组?
您可以使用Regex.Matches
:
string[] bits = Regex.Matches(input, @"\w+(?:\W+\w+){0,29}")
.Cast<Match>()
.Select(match => match.Value)
.ToArray();
点击此链接查看在线演示:ideone
如果您的字符串中包含非常大或非常小的字符集,使用正则表达式进行拆分是有意义的。或者,您可以使用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;
}