2016-01-12 17 views
-1

我有一个街道名称"2839 WYATT WY"。我想用'WAY'如何用python正则表达式替换一部分字符串

替换第二个'WY'请帮忙。

谢谢!

+0

你尝试了什么? –

+0

即时通讯新的正则表达式我只是尝试了替换功能,显然不工作。 – debugged

+0

'WY'是否总是在字符串的末尾,是您想要替换的唯一东西? –

回答

0

如果你想替换WY,它总是在你的字符串与WAY结束,那么您可以使用re.sub方法re模块做:

>>> import re 
>>> s = "2839 WYATT WY" 
>>> re.sub(r'\bWY$', 'WAY', s) 
'2839 WYATT WAY' 

编辑:对于其中一般情况下, 'WY'可能在字符串中,这是一个改进的解决方案

>>> s = "2839 WYATT WY WYSE" 
>>>> 
>>> re.sub(r'\bWY\b', 'WAY', s) 
'2839 WYATT WAY WYSE' 
>>> s = "2839 WYATT WY" 
>>> re.sub(r'\bWY\b', 'WAY', s) 
'2839 WYATT WAY' 
+0

谢谢!这是完美的!出于好奇,如果'WY'不是最后的结果,而是说它看起来像这样“2839 WYATT WY WYSE” – debugged

+0

所以,我假设你想在'WYSE''内部替换'WY'? –

+0

是的我只想替换字符串中间的'WY'而不是WYATT或WYSE – debugged