2016-09-04 5 views
-4
4200 47 Street Alberta Beach, T0E 0A0 AB 780-544-0137 

これは文字の値を持つ文字列でもあり、最後の文字は電話番号です。私は2つのチャンクを作って保存します異なる電話番号とC#を使った別の変数の最初の英数字です。誰も私にこれを行う方法を助けることができますか? 私は文字を持つ文字列の2つのチャンクを作る方法C#

PhoneNumber = Regex.Replace(Addrs, "[^000-9--]+", string.Empty); 

のような数のために、文字列のための正規表現を使用している文字列のために、私は正規表現を使用していたとしても

Address = Regex.Replace(Addrs, @"[\d-]", string.Empty); 

しかし 問題があり、アドレスは同様の文字が含まれており、この正規表現の意志文字を1つに分割して文字列を1つの塊に分割する

+1

は、我々は*あなたや*があなたのためにコードを書く*助けを*すべきか?私たちは後者をしません、あなたは自分自身の助けを必要とします。 – HimBromBeere

+0

'String.Split('、 ') '? – HimBromBeere

+0

@HimBromBeereどうすればいいですか? –

答えて

1

regular expressionを使用できます。実験にはhttp://regexr.com/のようなものを使用してください。 {3}ダッシュ

  • 続いて正確に3桁の数字
  • を= D \

    \d{3}-\d{3}-\d{4}$ 
    
    • 、電話番号が提供された例で、文字列の終わりのように常にあると仮定すると

      \ d {3} =正確に3桁

    • ダッシュ
    • \ d {4} =正確に4桁
    • $ =エンドアンカー

      string text = "4200 47 Street Alberta Beach, T0E 0A0 AB 780-544-0137"; 
      string pattern = @"\d{3}-\d{3}-\d{4}$"; 
      Regex rgx = new Regex(pattern, RegexOptions.IgnoreCase); 
      Match match = rgx.Match (text); 
      if (match.Success) { 
          string phoneNumber = match.Value; 
          Console.WriteLine (phoneNumber); //780-544-0137 
      
          string rest = text.Substring(0,text.Length-phoneNumber.Length); 
          Console.WriteLine (rest); 
      } 
      
  • +0

    はい電話番号は常に文字列の最後になります@ robor78 –

    +0

    おかげで私はしようとしているこの方法 –

    +0

    私は私の電話を保存しています番号はどうやって残りの英数字部分を別の変数に保存しますか? –

    関連する問題