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

新手上路,请多包涵

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

 string = "11234"
translation_table = str.maketrans({'1': 'I'})
output= (string.translate(translation_table))
print(output)

预期输出:

 I1234

实际输出:

 11234

原文由 pythoncoder 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

在 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

原文由 nathancy 发布,翻译遵循 CC BY-SA 4.0 许可协议

我不确定你想要达到什么目的,但似乎你只想用 '1' 'I' 一次,所以试试这个:

 string = "11234"
string.replace('1', 'I', 1)

str.replace takes 3 parameters old , new , and count (which is optional). count 表示要用--- 子字符串替换 old new 字符串的次数。

原文由 lmiguelvargasf 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题