我有几组字符串,后面是数字,后面是单词,还有混乱的数字和单词等等。 比如说,
"Street 50 No 40", "5, saint bakers holy street", "32 Syndicate street"
我正试着把街道名称和公寓号码分开
这是我目前的代码:
import re
pattern_street = re.compile(r'[A-Za-z]+\s?\w+\s?[A-Za-z]+\s?[A-Za-z]+',re.X)
pattern_apartmentnumber = re.compile(r'(^\d+\s? | [A-Za-z]+[\s?]+[0-9]+$)',re.X)
for i in ["Street 50 No 40", "5, saint bakers holy street", "32 Syndicate street"]:
match_street = pattern_street.search(i)
match_apartmentnumber = pattern_apartmentnumber.search(i)
fin_street = match_street[0]
fin_apartmentnumber = match_apartmentnumber[0]
print("street--",fin_street)
print("apartmentnumber--",fin_apartmentnumber)
其中打印:
street-- Street 50 No
apartmentnumber-- No 40
street-- saint bakers holy street
apartmentnumber-- 5
street-- Syndicate street
apartmentnumber-- 32
我想删除第一个街道名称中的“否”即,如果有任何街道的No
后面有一个数字,则需要将其作为公寓编号,
而不是街道。
如何对上面的示例字符串执行此操作
首先尝试在结尾处有
No 123
的情况,使用积极的前瞻如果找不到,试试没有这个的街道
您可以通过以下正则表达式模式找到街道名称,以从语句中删除[0-9]
相关问题 更多 >
编程相关推荐