[英]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.