You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#如何截取字符串最后一个逗号之后的前6个字符(不含逗号)

问题原因
  • String.Substring(startIndex, length)方法的第一个参数为截取的起始索引,你原先的代码直接将LastIndexOf(',')的结果作为起始索引,刚好对应逗号本身的位置,因此截取结果会包含逗号。
正确实现

基础版本(默认逗号后字符长度≥6)

直接在逗号索引基础上加1,跳过逗号本身再截取6个字符即可:

string last = str.Substring(str.LastIndexOf(',') + 1, 6);

兼容边界场景版本

如果存在最后一个逗号后字符不足6个的情况,为了避免抛出索引越界异常,可先动态计算合法的截取长度:

int commaPos = str.LastIndexOf(',');
// 跳过逗号取起始位置
int startPos = commaPos + 1;
// 截取长度取「需要的6个字符」和「剩余可用字符数」的较小值
int takeLength = Math.Min(6, str.Length - startPos);
string last = str.Substring(startPos, takeLength);
效果验证
  • 输入VILLEDA URIBE,PAUL,BU2960,输出为BU2960,符合预期
  • 输入BENTANCOURT,MARIA,BU2960_1_1,输出为BU2960,符合预期

内容的提问来源于stack exchange,提问作者John Parham

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 23:39:02