2012-05-02 13 views
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 

どうすれば実現できますか? My機能はそれを

+3

質問がありますか? – SimpleVar

+3

入力文字列の可能性の例がありますか?単一の例しか与えられていない場合、(良い)解決策を提供するのは難しいです。 – Jacco

答えて

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" 
    
+0

+1素晴らしい答えと説明。しかし、私はforeachを失い、それが1回または0回だけ一致すると仮定します。 – SimpleVar

0

常にあなたがstring.IndexOf()を使用して、その位置を見つけることができ壊したく時点でゼロがあるでしょう場合。そのインデックスを使用して、文字列を2つの部分文字列に分割することができます。

関連する問題