![](/img/trans.png)
[英]Extract House Number and Street Name from string using Python Regex
[英]Python RegEx splitting street and number from adress
我想拆分街道和號碼。
這是我目前的解決方案:
matches = re.match(r'^(?<street>[^,]*?)[,\s]*(?P<number>\d[\w\s\-/]*$)', street_number)
但它在某些情況下不起作用。 如果我有這樣的例子:
working_examples = [
'Somestreet 1',
'Somestreet1',
'Somestreet1a',
'Somestreet 1a',
'Somestreet 1 a'
]
print(matches.groupdict())
打印working_examples 的第一個元素:
{'street': 'Somestreet', 'number': '1'}
但是在這種情況下:
not_working_examples = [
'Some 1 street',
'Some 1a street'
]
它打印
{'street': 'Some ', 'number': '1 street'}
我的目標是擁有
{'street': 'Some 1 street', 'number': None}
import re
examples = [
'Somestreet 1',
'Somestreet1',
'Somestreet1a',
'Somestreet 1a',
'Somestreet 1 a',
'Some 1 street',
'Some 1a street'
]
for s in examples:
matches = re.match(r'^(?P<street>.+?)[,\s]*(?P<number>\d\s?\w?)$', s)
if matches:
print(matches.groups())
else:
print s, "doesn't match"
輸出:
('Somestreet', '1')
('Somestreet', '1')
('Somestreet', '1a')
('Somestreet', '1a')
('Somestreet', '1 a')
Some 1 street doesn't match
Some 1a street doesn't match
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.