为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用python单独替换字符串中的第一个字符?

如何使用python单独替换字符串中的第一个字符?

守着星空守着你 2021-12-29 19:29:06
如何使用python单独替换字符串中的第一个字符?string = "11234"translation_table = str.maketrans({'1': 'I'})output= (string.translate(translation_table))print(output)预期输出:I1234实际输出:11234
查看完整描述

3 回答

?
千万里不及你

TA贡献1784条经验 获得超9个赞

在 Python 中,字符串是不可变的,这意味着您不能分配给索引或修改特定索引处的字符。改用str.replace()。这是函数头


str.replace(old, new[, count])

这个内置函数返回字符串的副本,其中所有出现的子字符串old 都被new替换。如果给出了可选参数计数,则仅替换第一个计数出现。


如果不想使用str.replace(),可以利用拼接手动进行


def manual_replace(s, char, index):

    return s[:index] + char + s[index +1:]


string = '11234'

print(manual_replace(string, 'I', 0))

输出


I1234


查看完整回答
反对 回复 2021-12-29
?
莫回无

TA贡献1865条经验 获得超7个赞

我不确定您想要达到什么目的,但您似乎只想将 a 替换'1'为'I'一次,因此请尝试以下操作:


string = "11234"

string.replace('1', 'I', 1)

str.replace需要 3 个参数old, new, 和count(这是可选的)。count表示要用old子字符串替换子new字符串的次数。


查看完整回答
反对 回复 2021-12-29
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

您可以使用re(正则表达式),并在sub那里使用该函数,第一个参数是您要替换的内容,第二个是您要替换的内容,第三个是字符串,第四个是计数,所以我说1因为您只想要第一个:


>>> import re

>>> string = "11234"

>>> re.sub('1', 'I', string, 1)

'I1234'

>>> 

它实际上只是:


re.sub('1', 'I', string, 1)


查看完整回答
反对 回复 2021-12-29
  • 3 回答
  • 0 关注
  • 671 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信