【发布时间】:2021-03-12 09:30:46
【问题描述】:
例如我有一些字符串,这个字符串的长度 = 2900 如何将此字符串除以部分(长度 255)并为每个部分添加“部分 {number}”+ 分割字符串
在输入时:字符串(2900 长度) 输出:包含 12 个元素的列表,每个元素应为 = Part {number} + 子字符串且长度小于 255
我就是这样尝试的,但是当我有超过 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);
}
}
【问题讨论】:
-
预期的输入和输出在这里会有很大帮助。
-
but I have trouble when I have more than 9 part什么麻烦? -
“但是当我有超过 9 个部分时我会遇到麻烦”:也许你可以使用
var partNumberTemplate = $"Part {partNumber:D2} ";,但我只能假设你的问题是由于partNumberTemplate的长度发生了变化当partNumber>9 -
@Marco,是的,这是我的问题,我该如何解决?
标签: c# string split ienumerable