■68524 / inTopicNo.6) |
Re[4]: 電話番号のFormatについて |
□投稿者/ shu (404回)-(2013/10/25(Fri) 12:21:19)
|
正規表現を使う例
Imports System.Text.RegularExpressions
Dim re As New Regex("(?<no1>\d{1,4})(?<s1>[^\d]*)(?<no2>\d+)(?<s2>[^\d]*)(?<no3>\d{4})") Dim samples = {"03-1111-2222", "043(1111)2222", "090-(1111)-2222", "012011112222"} For Each sample In samples Dim m = re.Match(sample) Console.WriteLine("sample={0}, no1={1}, s1={2}, no2={3}, s2={4}, no3={5}", sample, _ m.Groups("no1").Value, m.Groups("s1").Value, _ m.Groups("no2").Value, m.Groups("s2").Value, m.Groups("no3").Value) Next
実行時の結果: sample=03-1111-2222, no1=03, s1=-, no2=1111, s2=-, no3=2222 sample=043(1111)2222, no1=043, s1=(, no2=1111, s2=), no3=2222 sample=090-(1111)-2222, no1=090, s1=-(, no2=1111, s2=)-, no3=2222 sample=012011112222, no1=0120, s1=, no2=1111, s2=, no3=2222
となるのでこのno1,s1,no2,s2,no3を使用すればなんとかなりそうな気がします。
|
|