debug.writeline的Split String?

时间:2011-12-15 16:29:35

标签: c#

  

可能重复:
  Splitting a string into chunks of a certain size

有没有为每个714字符拆分一个字符串?这是由于c#

中的debug.writeline限制

4 个答案:

答案 0 :(得分:4)

是的,我会使用Substring

string myString = "Some very long string you need to output.";

for(int i = 0; i < myString.length; i += 714) {
    Debug.WriteLine(myString.Substring(i, Math.Min(714, myString.Length - i)));
}

或者,对于一个花哨的单行:

foreach(var s in Regex.Matches(myString, ".{,714}")) Debug.WriteLine(s.Value);

答案 1 :(得分:1)

您可以使用此代码:

static IEnumerable<string> Split(string str, int chunkSize)
{
    return Enumerable.Range(0, str.Length / chunkSize)
        .Select(i => str.Substring(i * chunkSize, chunkSize));
}

来自Splitting a string into chunks of a certain size

制作自己的写作方法

答案 2 :(得分:0)

使用此

解决
        int chunkSize = 700;
           int stringLength = str.Length;
           for (int i = 0; i < stringLength; i += chunkSize)
           {
               if (i + chunkSize > stringLength) chunkSize = stringLength - i;
               Debug.WriteLine(str.Substring(i, chunkSize));

           }

答案 3 :(得分:0)

这是一个应该做的技巧的扩展方法(没有LINQ只是为了保持清晰):

public static string[] SplitLength(this string val, int length)
{
    var parts = new List<string>();

    for(int i = 0; i < val.Length; i += length)
    {
        parts.Add(val.Substring(i * length, length));
    }

    return parts.ToArray();
}