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 を含む) が続く: [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 に答える