将长字符串拆分为较短字符串数组

时间:2010-05-31 19:17:01

标签: c#

如何将一个约300(n)个单词的字符串拆分成一个包含30个单词的n / 30个字符串数组?

2 个答案:

答案 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;
        }