Python.replace';st';与';街道';但是保持街道名称不变
我正在尝试将st.to street、ave.to avenue等更改为使用.replace()作为单个单元格中的地址。例如:西街应该是西街,卵石山路应该是卵石山路 这是我的密码:Python.replace';st';与';街道';但是保持街道名称不变,python,replace,split,street-address,Python,Replace,Split,Street Address,我正在尝试将st.to street、ave.to avenue等更改为使用.replace()作为单个单元格中的地址。例如:西街应该是西街,卵石山路应该是卵石山路 这是我的密码: if 'STREET' not in address and address.find('ST.'): address = address.replace('ST','STREET') 结果给了我威斯特里特街。如何在不更改地址名的情况下保持地址名不变?我尝试了.split(),但大多数单元格都有不同的列表长
if 'STREET' not in address and address.find('ST.'):
address = address.replace('ST','STREET')
结果给了我威斯特里特街。如何在不更改地址名的情况下保持地址名不变?我尝试了.split(),但大多数单元格都有不同的列表长度,因此它变得非常混乱。试试这个:
if 'STREET' not in address and address.find('ST.'):
address = address.replace(' ST.',' STREET')
试试这个,代码越少越好
address = "WEST ST."
if address.find('ST.'):
address = address.replace(' ST.',' STREET')
print(address)
尝试使用带有边界的正则表达式 Ex:
import re
s = """WEST ST
MOUNT PEBBLE RD"""
toReplace = {"ST": 'STREET', "RD": "ROAD", "ave": "avenue"}
for k,v in toReplace.items():
s = re.sub(r"\b" + k + r"\b", v, s)
print(s)
WEST STREET
MOUNT PEBBLE ROAD
输出:
import re
s = """WEST ST
MOUNT PEBBLE RD"""
toReplace = {"ST": 'STREET', "RD": "ROAD", "ave": "avenue"}
for k,v in toReplace.items():
s = re.sub(r"\b" + k + r"\b", v, s)
print(s)
WEST STREET
MOUNT PEBBLE ROAD
我像这样编辑了您的代码:
address = "WEST ST."
if 'STREET' not in address and address.find('ST.'):
address = address.replace('ST.','STREET')
print (address)
结果如下:
西街
您必须替换“ST.”而不是“ST”ST.是否可以出现在字符串开头?是否有。在不属于缩写的字符串中。?例如“West.”在replace address=address中的ST和STREET之前添加一个空格。replace('ST',STREET')代码没有运行的原因是因为在
中ST之后需要有一个句点。replace()
code我已经用ST
添加了
。您可以根据需要使用这两种方法。@muffint0p如果答案有帮助,您可以接受:)。您也可以这样做address=address.replace('ST','STREET')