C# 使用定义的字符数限制字符串长度
有没有这样的方法:我有一个字符串,它可能有5000个字符,我的目标是将字符串拆分为每行100个字符,然后生成50行。如果你有意见,你能用c#告诉我吗?我使用了一种扩展方法:C# 使用定义的字符数限制字符串长度,c#,string,split,C#,String,Split,有没有这样的方法:我有一个字符串,它可能有5000个字符,我的目标是将字符串拆分为每行100个字符,然后生成50行。如果你有意见,你能用c#告诉我吗?我使用了一种扩展方法: public static IEnumerable<string> SplitByLength(this string str, int maxLength) { for (int index = 0; index < str.Length; index += maxLength) {
public static IEnumerable<string> SplitByLength(this string str, int maxLength)
{
for (int index = 0; index < str.Length; index += maxLength)
{
yield return str.Substring(index, Math.Min(maxLength, str.Length - index));
}
}
公共静态IEnumerable SplitByLength(此字符串str,int maxLength)
{
对于(int index=0;index
这里有一个LINQ方法:
var split =
text
.ToCharArray()
.Select((c, n) => new { c, n })
.GroupBy(cn => cn.n / 100, cn => cn.c)
.Select(x => new string(x.ToArray()));
您觉得这个LINQ解决方案怎么样?这就是您尝试过的吗?如果是这样的话,你可以通过问题下方的编辑按钮将其与你的问题合并。这不是我的解决方案,我的一位程序员朋友给出了解决方案,它可以工作
string Deneme = "Deneme Deneme Deneme Deneme DenemeDeneme Deneme Deneme Deneme
Deneme Deneme Deneme DenemeDeneme ";
string Sonuc = "";
while (Deneme.Length > 0)
{
Sonuc += new String(Deneme.Take(3).ToArray()) + Environment.NewLine;
Deneme= Deneme.Remove(0, Deneme.Length >= 3 ? 3 : Deneme.Length);
}