简体   繁体   English

如何按字符数拆分字符串并在每个字符串的开头添加自定义字符串

[英]How to split string by number of characters and add at the begin of each string custom string

For example I have some string, length of this string = 2900 How can I divide this string by parts(length 255) and add for each part "Part {number}" + dividing string例如,我有一些字符串,该字符串的长度 = 2900 如何将此字符串除以部分(长度 255)并为每个部分添加“部分 {number}”+ 分割字符串

On input: string (2900 length) Output: List with 12 element and each element should be = Part {number} + substring and length less than 255输入时:字符串(2900 长度)Output:包含 12 个元素的列表,每个元素应为 = Part {number} + substring 且长度小于 255

I try smth like that, but I have trouble when I have more than 9 part我像那样尝试,但是当我有超过 9 个部分时我会遇到麻烦

public static IEnumerable<string> SplitJobComment(string str, int chunkLength)
        {
            var partNumber = 1;
            var partNumberTemplate = $"Part {partNumber} ";
            chunkLength -= partNumberTemplate.Length;

            for (var i = 0; i < str.Length; i += chunkLength)
            {
                if (chunkLength + i > str.Length)
                {
                    chunkLength = str.Length - i;
                }

                partNumberTemplate = $"Part {partNumber} ";
                partNumber++;

                yield return partNumberTemplate + str.Substring(i, chunkLength);
            }
        }

Given that the real problem, as I assumed, is the fact that partNumberTemplate's length changes when partNumber>9, one possibile solution can be鉴于真正的问题,正如我所假设的那样,partNumberTemplate 的长度在 partNumber>9 时会发生变化,一个可能的解决方案是

var partNumberTemplate = $"Part {partNumber:D2} ";

{partNumber:D2} formats the number using always 2 digits. {partNumber:D2}始终使用 2 位数字格式化数字。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM