首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何替换字符串末尾的一些字符?

如何替换字符串末尾的一些字符?
EN

Stack Overflow用户
提问于 2010-09-09 17:24:27
回答 7查看 67K关注 0票数 35

我想替换python字符串末尾的字符。我有这个字符串:

代码语言:javascript
复制
 s = "123123"

我想用x替换最后一个2。假设有一个名为replace_last的方法

代码语言:javascript
复制
 r = replace_last(s, '2', 'x')
 print r
 1231x3

有没有什么内置的或者简单的方法可以做到这一点呢?

EN

回答 7

Stack Overflow用户

发布于 2010-09-09 17:37:50

使用正则表达式函数re.sub替换字符串末尾的单词

代码语言:javascript
复制
import re
s = "123123"
s = re.sub('23$', 'penguins', s)
print s

打印:

代码语言:javascript
复制
1231penguins

代码语言:javascript
复制
import re
s = "123123"
s = re.sub('^12', 'penguins', s)
print s

打印:

代码语言:javascript
复制
penguins3123
票数 34
EN

Stack Overflow用户

发布于 2010-09-10 01:56:35

这是为数不多的没有左右版本的字符串函数之一,但是我们可以使用一些有左右版本的字符串函数来模拟这种行为。

代码语言:javascript
复制
>>> s = '123123'
>>> t = s.rsplit('2', 1)
>>> u = 'x'.join(t)
>>> u
'1231x3'

代码语言:javascript
复制
>>> 'x'.join('123123'.rsplit('2', 1))
'1231x3'
票数 13
EN

Stack Overflow用户

发布于 2010-09-09 17:32:19

代码语言:javascript
复制
>>> s = "aaa bbb aaa bbb"
>>> s[::-1].replace('bbb','xxx',1)[::-1]
'aaa bbb aaa xxx'

对于您的第二个示例

代码语言:javascript
复制
>>> s = "123123"
>>> s[::-1].replace('2','x',1)[::-1]
'1231x3'
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3675318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档