我有一个地址列表:
addr = ['100 NORTH MAIN ROAD',
'100 BROAD ROAD APT.',
'SAROJINI DEVI ROAD',
'BROAD AVENUE ROAD']
我需要在以下功能中执行替换工作:
^{pr2}$通过在该函数之外定义一个模式并将其作为参数传递给subst
我需要这样的输出:
addr = ['100 NORTH MAIN RD',
'100 BROAD RD APT.',
'SAROJINI DEVI RD ',
'BROAD AVENUE RD']
所有“道路”字符串都替换为“RD”
def subst(pattern, replace_str, string):
#susbstitute pattern and return it
new=[]
for x in string:
new.insert((re.sub(r'^(ROAD)','RD',x)),x)
return new
def main():
addr = ['100 NORTH MAIN ROAD',
'100 BROAD ROAD APT.',
'SAROJINI DEVI ROAD',
'BROAD AVENUE ROAD']
#Create pattern Implementation here
pattern=r'^(ROAD)'
print (pattern)
#Use subst function to replace 'ROAD' to 'RD.',Store as new_address
new_address=subst(pattern,'RD',addr)
return new_address
我已经做了这件事,并得到了下面的错误
回溯(最近一次呼叫):
文件“python”,第23行,in 文件“python”,第20行,main 文件“python”,第7行,在subst中
TypeError:“str”对象不能解释为整数
不需要regex,只需使用
replace
:如果只想将
^{pr2}$ROAD
替换为一个单词,中间的no,请使用:使用正则表达式。。在
使用
re
输出:
^{pr2}$相关问题 更多 >
编程相关推荐