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

如何用正则或字符串裁剪方法去除末尾字母及后续跟随的数字?

字符串处理解决方案

核心思路

  • 从左到右遍历目标字符串,找到第一个英文字母所在的索引位置
  • 如果存在字母:直接截取字符串开头到该索引位置的子串,自动忽略字母及之后的所有内容
  • 如果不存在字母(字符串全为数字):直接截取字符串开头到总长度减1的子串,去掉末尾最后一位数字

该方案不需要硬编码删除的字符位数,可适配任意长度的字母后缀场景,兼容性远高于固定删除后N位的写法。

代码实现(C#)

public static string ProcessShelfCode(string input)
{
    // 兼容空输入的边界情况
    if (string.IsNullOrEmpty(input))
        return input;
    
    // 查找第一个英文字母的位置
    for (int i = 0; i < input.Length; i++)
    {
        if (char.IsLetter(input[i]))
        {
            return input.Substring(0, i);
        }
    }

    // 全数字场景,删除最后一位
    return input.Length > 1 ? input.Substring(0, input.Length - 1) : input;
}

测试效果验证

所有示例输入处理后均符合要求:

  • 输入171A1 → 输出171
  • 输入171A → 输出171
  • 输入171A0 → 输出171
  • 输入15211 → 输出1521
  • 输入15210 → 输出1521
  • 输入15190 → 输出1519

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 12:54:04