用多个单词城市对单行地址进行分组
Grouping single line addresses with multiple word cities
编辑 2:已解决。我最终只需要在街道和城市名称之间用逗号分隔。它足以满足我的需求。我使用的最终正则表达式是:
^(\d+) (\S+.+),[ ]?(.+),[ ]?([A-Za-z]{2})[ ]?(\d{5})$
对于那些好奇的人。
你好,
我正在尝试按照以下格式解析在单行中输入的地址:
1234 Street Name Unit #225 Harpers Ferry, VA 12345
5547 Street Name City Name, WY 12345
9958 Street Name Apt 25 New York, NY 12345
编辑:将第二个示例更改为更能代表我正在使用的数据集,并添加了可能输入的第三个示例。
而且我在处理这些示例中出现的两个单词 cities 的可能性时遇到了麻烦。
我天真的实现是
(?<Building>\b\d+)\s(?<Street>.+)(?<City>\b.+),\s(?<State>.{2})\s(?<Zip>\d{5}\b)
如果城市只包含一个词,这似乎有效。然而,使用第一个示例会 return 以下结果:
Building: 1234
Street: Street Name Unit #225 Harpers
City: Ferry
State: VA
Zip: 12345
有没有办法在街道尽头不加分隔符的情况下覆盖这种情况and/or单位名称?
这个呢?
(?<Building>\b\d+)\s(?<Street>.*(?:#\d+|No Unit Number))\s(?<City>\b.+),\s(?<State>.{2})\s(?<Zip>\d{5}\b)
见demo
编辑 2:已解决。我最终只需要在街道和城市名称之间用逗号分隔。它足以满足我的需求。我使用的最终正则表达式是:
^(\d+) (\S+.+),[ ]?(.+),[ ]?([A-Za-z]{2})[ ]?(\d{5})$
对于那些好奇的人。
你好, 我正在尝试按照以下格式解析在单行中输入的地址:
1234 Street Name Unit #225 Harpers Ferry, VA 12345
5547 Street Name City Name, WY 12345
9958 Street Name Apt 25 New York, NY 12345
编辑:将第二个示例更改为更能代表我正在使用的数据集,并添加了可能输入的第三个示例。
而且我在处理这些示例中出现的两个单词 cities 的可能性时遇到了麻烦。 我天真的实现是
(?<Building>\b\d+)\s(?<Street>.+)(?<City>\b.+),\s(?<State>.{2})\s(?<Zip>\d{5}\b)
如果城市只包含一个词,这似乎有效。然而,使用第一个示例会 return 以下结果:
Building: 1234
Street: Street Name Unit #225 Harpers
City: Ferry
State: VA
Zip: 12345
有没有办法在街道尽头不加分隔符的情况下覆盖这种情况and/or单位名称?
这个呢?
(?<Building>\b\d+)\s(?<Street>.*(?:#\d+|No Unit Number))\s(?<City>\b.+),\s(?<State>.{2})\s(?<Zip>\d{5}\b)
见demo