我需要在C#中使用正则表达式字符串来匹配地址类似的街道名称:
101 第二。圣
5 第1 圣
4& 5 103rd Ave.
88 44th St。
我需要确定街道部分(例如,第2,第1,第103,第44)在地址字符串中的开始位置。我已经成功地使用@“(1ST | RD | TH | ND)”在C#中找到了文本部分,但这并没有给出街道名称的数字部分开始的位置。
任何帮助都会很酷。感谢。
答案 0 :(得分:1)
如果你想获得st,nd,rd和th的数字部分,你可以使用前瞻性正则表达式:
(\d+)(?=ST|RD|TH|ND)
<强> Working demo 强>
如果您想要包含您可以使用的字符串的数字:
(\d+(?:ST|RD|TH|ND))
<强> Working demo 强>
答案 1 :(得分:0)
如果您知道数据将始终以数字开头并以某些后缀(例如St.或Ave.)结尾,可能是这样的?
^(?<number>[0-9]+) (?<street>.*) (?<suffix>[^ ])$
有可能你正在使用真实地址,在这种情况下我怀疑是否存在可以处理所有变化的正则表达式。