Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将长字符串拆分为短字符串数组_C# - Fatal编程技术网

C# 将长字符串拆分为短字符串数组

C# 将长字符串拆分为短字符串数组,c#,C#,如何将一个大约300(n)个单词的字符串拆分为一个30个单词的n/30字符串数组?您可以使用: string[]bits=Regex.Matches(输入@“\w+(?:\w+\w+{0,29}”) .Cast() .Select(匹配=>match.Value) .ToArray(); 在线查看它的工作情况:如果字符串中有非常大或非常小的字符,则正则表达式拆分是有意义的。或者,您可以使用String类的Substring方法来获得所需的结果: string input = "

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

您可以使用:

string[]bits=Regex.Matches(输入@“\w+(?:\w+\w+{0,29}”)
.Cast()
.Select(匹配=>match.Value)
.ToArray();

在线查看它的工作情况:

如果字符串中有非常大或非常小的字符,则正则表达式拆分是有意义的。或者,您可以使用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;
        }
string input=“abcdefghijklmnopqrstuvxyz”;
常数int区间=5;
List lst=新列表();
int i=0;
while(i
@Mark:为了清楚起见,我对问题进行了编辑,请随意修改。Vector:-只是一个易于使用的数据结构,如数组。它忽略每个项目的第一个字符。@Nick Binnet:我已经用一个示例链接更新了答案,该示例显示代码工作正常。请你解释一下“它忽略每个项目的第一个字符”是什么意思?我不明白你的意思,输出似乎没有任何“被忽略的字符”。很抱歉误解了你的答案。我的错,我尝试这个是为了另一个目的。
        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;
        }