Need help with Regex to extract zip code from string
I need to extract the zip code from a string. The line looks like this:
Sandviksveien 184, 1300 Sandvika
How can I use regex to retrieve the zip code? In the above line, the postal code will be 1300.
I tried something along the way like this:
Regex pattern = new Regex(", [0..9]{4} ");
string str = "Sandviksveien 184, 1300 Sandvika";
string[] substring = pattern.Split(str);
lblMigrate.Text = substring[1].ToString();
But it doesn't work.
+2
source to share
3 answers
This should do the trick:
,\s(\d{4})
And here's a quick example of how to use it:
using System;
using System.Text.RegularExpressions;
class Test
{
static void Main()
{
String input = "Sandviksveien 184, 1300 Sandvika";
Regex regex = new Regex(@",\s(\d{4})",
RegexOptions.Compiled |
RegexOptions.CultureInvariant);
Match match = regex.Match(input);
if (match.Success)
Console.WriteLine(match.Groups[1].Value);
}
}
+6
source to share
Try the following:
var strs = new List<string> {
"ffsf 324, 3480 hello",
"abcd 123, 1234 hello",
"abcd 124, 1235 hello",
"abcd 125, 1235 hello"
};
Regex r = new Regex(@",\s\d{4}");
foreach (var item in strs)
{
var m = r.Match(item);
if (m.Success)
{
Console.WriteLine("Found: {0} in string {1}", m.Value.Substring(2), item);
}
}
+1
source to share