0

フォーマットされていない電話番号の文字列があります。それらを見つけて、番号をフォーマットして保存する方法はありますか?

私が持っているサンプル文字列は

Name: Tippu     
Phone: 408.273.3939
Email: tippu@tippu.com

別のサンプル

Contact Tippu at (408) 363 2323     

これらの例では、電話番号を見つけて NNN-NNN-NNNN 形式に変更する必要があります。データは SQL Server にあり、c# を使用しています。

ありがとう

4

3 に答える 3

2

次の疑似コードを使用できます。

string.Replace(/\(?(\d{3})[)(-.\s]*(\d{3})[)-.\s]*(\d{4})/, "$1-$2-$3")

NNN-NNN-NNNN提供されている両方の例を形式で置き換えます。

正規表現について少し説明しましょう。
\(?文字列が角かっこで始まっているかどうかを最初に確認すると、
(\d{3})3 桁の数字が検索され、キャプチャ グループが作成されます。 と[)(-.\s]*を探します。ブラケットの後にスペースが続くケースに注意してください。4桁を探します。 ここに とがキャプチャ グループです。言語に応じて使用できます。 おそらくC#で関数を使用できると思います) ( - .space*
\d{4}
$1 $2$3

Regex.Replace()

于 2013-03-28T12:25:22.393 に答える
1

Probably not the best... But this is something like what I would do if it were me. It might at least help. Firstly, I assume that the last numbers in your strings represent the phone number:

x = <your string>.replace(/[^0-9]/g,'');
x = x.substring(x.length-10);
x = x.substring(0,3) +'-'+ x.substring(3,6) + '-' + x.substring(6);
于 2013-03-28T11:53:36.273 に答える
1

電話番号が「408.273.3939」の形式であると仮定すると、これは役に立ちます

 var stringText = "408.273.3939";
            var phoneArr = stringText.Split('.');
            String.Format("%s-%s-%s", phoneArr[0], phoneArr[1], phoneArr[2]);

さらに、あなたの質問も私には明確ではありません。

于 2013-03-28T11:55:24.133 に答える