【问题标题】:Replace Pattern matching portion with some other value in python 3用python 3中的其他值替换模式匹配部分
【发布时间】:2019-03-27 17:45:24
【问题描述】:

我想用 RD 代替 ROAD

addr = ['100 NORTH MAIN ROAD',
            '100 BROAD ROAD APT.',
            'SAROJINI DEVI ROAD',
            'BROAD AVENUE ROAD']

输出

output : ['100 NORTH MAIN RD.',
            '100 BROAD RD. APT.',
            'SAROJINI DEVI RD.',
            'BROAD AVENUE RD.']

我试过下面提到的代码

new_address=[word.replace("ROAD","RD") for word in addr]

但没有得到想要的输出(BROAD 也被 RD 取代。)

['100 NORTH MAIN RD.', '100 BRD. RD. APT.', 'SAROJINI DEVIRD.', 'BRD. AVENUE RD.']

【问题讨论】:

标签: python-3.x


【解决方案1】:

在这个当前的例子中可以做到:

new_address=[word.replace(" ROAD"," RD.") for word in addr]

或者一般意义上,使用regex

new_address = [re.sub(r'\bROAD\b', 'RD.', w) for w in l]

# ['100 NORTH MAIN RD.', '100 BROAD RD. APT.', 'SAROJINI DEVI RD.', 
#   'BROAD AVENUE RD.']

【讨论】:

  • 您好,感谢您的回复,我们可以使用正则表达式来实现吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-10
  • 2014-03-22
  • 1970-01-01
  • 1970-01-01
  • 2018-05-01
  • 2016-07-04
相关资源
最近更新 更多