Replacing substrings using Regex in C# .NET: phone number example
December 17, 2014 1 Comment
In this post we saw an application of Regex and Match to reformat date strings. Let’s check another example: change the following phone number formats…:
- (xxx)xxx-xxxx: (123)456-7890
- (xxx) xxx-xxxx: (123) 456-7890
- xxx-xxx-xxxx: 123-456-7890
- xxxxxxxxxx: 1234567890
…into (xxx) xxx-xxxx.
Here’s a possible solution:
private static string ReformatPhone(string phone)
{
Match match = Regex.Match(phone, @"^\(?(\d{3})\)?[\s\-]?(\d{3})\-?(\d{4})$");
return string.Format("({0}) {1}-{2}", match.Groups[1], match.Groups[2], match.Groups[3]);
}
If you call this function with any of the above 4 examples it will return “(123) 456-7890”.
View all posts related to string and text operations here.
Hi,
I’m not sure whether this link is still alive, but just in case.
I have a problem with Swedish Phone numbers validation – Can’t find a Regex working properly with the following Swedish phones ( given as a samples) below:
031-3224562
0737234264
073-5647829
+46 8 123 456
7808123456
78 0123-456 78
08 791 4400
+46 08 791 4400
Do you know the solution?
Is it possible that the phones are incorrect?
Thanks,
Serg