我想替换python字符串末尾的字符。我有这个字符串:
s = "123123"
我想用x
替换最后一个2
。假设有一个名为replace_last
的方法
r = replace_last(s, '2', 'x')
print r
1231x3
有没有什么内置的或者简单的方法可以做到这一点呢?
发布于 2010-09-09 17:37:50
使用正则表达式函数re.sub
替换字符串末尾的单词
import re
s = "123123"
s = re.sub('23$', 'penguins', s)
print s
打印:
1231penguins
或
import re
s = "123123"
s = re.sub('^12', 'penguins', s)
print s
打印:
penguins3123
发布于 2010-09-10 01:56:35
这是为数不多的没有左右版本的字符串函数之一,但是我们可以使用一些有左右版本的字符串函数来模拟这种行为。
>>> s = '123123'
>>> t = s.rsplit('2', 1)
>>> u = 'x'.join(t)
>>> u
'1231x3'
或
>>> 'x'.join('123123'.rsplit('2', 1))
'1231x3'
发布于 2010-09-09 17:32:19
>>> s = "aaa bbb aaa bbb"
>>> s[::-1].replace('bbb','xxx',1)[::-1]
'aaa bbb aaa xxx'
对于您的第二个示例
>>> s = "123123"
>>> s[::-1].replace('2','x',1)[::-1]
'1231x3'
https://stackoverflow.com/questions/3675318
复制相似问题