如何在现有字符串中插入或追加字符串以生成指定格式结果?
字符串追加/截取拼接的正确实现方式
首先纠正你当前代码的问题:Remove(1, before.Length)会触发参数超出范围的错误——before.Length为5,从索引1开始移除5个字符的操作超出了字符串的实际索引范围(仅到4),且这个逻辑也不符合你要的结果。
下面分两种场景给出对应解决方案:
场景1:直接在字符串末尾追加(常规追加)
如果需求是单纯把add拼在before的末尾,直接用字符串拼接即可,这是最简洁的实现方式:
string before = "00000"; string add = "175"; string last = before + add; // 结果为 "00000175"
也可以根据场景选择string.Concat或StringBuilder(适合大量字符串拼接的场景):
// 使用 string.Concat string last = string.Concat(before, add); // 使用 StringBuilder var sb = new System.Text.StringBuilder(before); sb.Append(add); string last = sb.ToString();
场景2:截取before部分内容后拼接add(匹配你的示例结果)
如果目标是得到示例中的"000175",也就是保留before的前3个字符再拼接add,可以用Substring截取指定长度的内容后拼接:
string before = "00000"; string add = "175"; // 截取before的前3个字符,再拼接add string last = before.Substring(0, 3) + add; // 结果为 "000175"
如果需要动态适配固定长度的最终字符串(比如目标长度为6),可以通过计算得到需要截取的长度:
int targetTotalLength = 6; string last = before.Substring(0, targetTotalLength - add.Length) + add;
内容的提问来源于stack exchange,提问作者Murat Şenel
相关产品推荐
相关产品推荐

