0

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

这就是我正在做的,我没有包括 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

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

4

2 回答 2

5

让我们一步一步地看一下正则表达式:

  • 以数字开头,但不是零:[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"
    
于 2012-05-02T15:08:22.943 回答
0

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

于 2012-05-02T15:08:58.017 回答