【发布时间】:2019-04-01 10:32:09
【问题描述】:
我想从 Python 中的硬编码、基于规则的结构开始,最好是 使用 IF-ELSE 解决以下问题:
例如,我的格式正确
UK postal address:
Flat 8, The Apartment, King Philip Street, SE1 3WX
从上述实际地址可以得出的不同变体有:
这些侧重于地址变体的第一行:
Flat 8 - Actual
8
F8
f8
flat 8
flat8
FLAT8
FLAT 8
这些侧重于地址变化的第二行:
The Apartment - Actual
Apartment,
TheApartment
theapartment
the apartment
这些侧重于地址变体的第三行:
King Philip Street - Actual
King Philip St
King Philip st
King Philip street
King Philip STREET
king philip St
king philip st
king philip street
king philip STREET
这些集中在地址变体的第四行:
SE1 3WX - Actual
SE13WX
SE1 3WX
se1 3wx
se13wx
因此,一旦将地址输入到函数中,Python函数应该能够解析并输出上述分段结果。
我还有几千个这样的地址需要解析。
以前有没有人做过类似的事情,有人可以帮我看看如何实现吗?
示例函数用法:
Python_Function("Flat 8, The Apartment, King Philip Street, SE1 3WX, England")
输出应该是:
首行地址:
Flat 8
8
F8
f8
flat 8
flat8
FLAT8
FLAT 8
二线地址:
The Apartment
Apartment
TheApartment
theapartment
the apartment
第三行地址:
King Philip Street
King Philip St
King Philip st
King Philip street
King Philip STREET
king philip St
king philip st
king philip street
king philip STREET
第四行地址:
SE1 3WX
SE13WX
SE1 3WX
se1 3wx
se13wx
第五行地址:
England
england
eng
【问题讨论】:
-
发布示例输出?
-
你有什么理由不做
split(',')? -
是的,@GBrandt 说了什么,甚至更好:
.split(', ')(避免在某些值的开头出现 sup 空格) -
Split 将分割文本并产生输出。但我也需要变体,我需要同时生成小写、大写和中间的空格(模仿人们在纸上实际写地址的方式)。
-
你真的尝试过什么吗?
标签: python regex if-statement