修剪编号功能

本文关键字:功能 编号 修剪 | 更新日期: 2023-09-27 18:33:00

我需要修剪包含数字的字符串的最后一部分。此外,我需要修剪不以零开头的部分

这就是我正在做的,我没有包括 0,因为我不确定如果数字以零开头,我应该如何忽略它。

        textBox13.Text = "A14C0681414010";
        //textBox13.Text = "A14C1381414010"; numbers will vary
        var first = textBox13.Text.TrimEnd("123456789".ToCharArray());
        var last = textBox13.Text.Substring(first.Length);
        // part 1 should contain A14C0
        // part 2 should contain 681414010

我怎样才能实现它?我的函数不这样做

修剪编号功能

让我们逐步浏览正则表达式:

  • 以数字开头,但不是零:[1-9]
  • 后跟任意位数(包括零):[0-9]*(或缩写:'d*
  • 后跟"行尾"(仅获取"最后一部分"):$ .

    var input = "A14C0681414010"; 
    foreach (Match m in Regex.Matches(input, "[1-9][0-9]*$")) {
        Console.WriteLine("Found: " + m.Value);
    }
    // Outputs "Found: 681414010"
    

如果在你想要打破的点上总是有一个零,你可以使用 string.IndexOf() 找到它的位置。然后,您可以使用该索引将字符串分成 2 个子字符串。