C# 将长字符串拆分为短字符串数组
如何将一个大约300(n)个单词的字符串拆分为一个30个单词的n/30字符串数组?您可以使用: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 = "
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;
}