編輯 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 街道名稱 Apt 25 New York, NY 12345
編輯:將第二個示例更改為更能代表我正在使用的資料集,并添加了可能輸入的第三個示例。
我在處理這些示例中出現的兩個單詞城市的可能性時遇到了麻煩。我天真的實作是
(?<Building>\b\d )\s(?<Street>. )(?<City>\b. ),\s(?<State>.{2})\s(?<Zip>\d{5}\b)
如果城市只包含一個詞,這似乎有效。但是,使用第一個示例它將回傳以下結果:
建筑:1234
街道:街道名稱 Unit #225 Harpers
城市:渡輪
狀態:弗吉尼亞州
郵編:12345
有沒有辦法在街道和/或單位名稱的末尾沒有額外的分隔符來覆寫這種情況?
uj5u.com熱心網友回復:
那這個呢?
(?<Building>\b\d )\s(?<Street>.*(?:#\d |No Unit Number))\s(?<City>\b. ),\s(?<State>.{2})\s(?<Zip>\d{5}\b)
看演示
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/358678.html
下一篇:正則運算式洗掉尾隨可選垃圾
