Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python.replace';st';与';街道';但是保持街道名称不变_Python_Replace_Split_Street Address - Fatal编程技术网

Python.replace';st';与';街道';但是保持街道名称不变

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(),但大多数单元格都有不同的列表长

我正在尝试将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')

试试这个,代码越少越好

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')