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

如何使用python单独替换字符串中的第一个字符?,python,python-3.x,replace,Python,Python 3.x,Replace,如何使用python单独替换字符串中的第一个字符? string = "11234" translation_table = str.maketrans({'1': 'I'}) output= (string.translate(translation_table)) print(output) 预期输出: I1234 11234 实际输出: I1234 11234 我不确定您想要实现什么,但您似乎只想将'1'替换为'I'一次,所以请尝试以下方法: string = "11234" s

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

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

I1234
11234
实际输出:

I1234
11234

我不确定您想要实现什么,但您似乎只想将
'1'
替换为
'I'
一次,所以请尝试以下方法:

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

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

在Python中,字符串是不可变的,这意味着不能指定索引或修改特定索引处的字符。改用。这是函数头

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


您可以使用
re
(regex),并使用那里的
sub
函数,第一个参数是您要替换的对象,第二个是您要替换的对象,第三个是字符串,第四个是计数,所以我说
1
,因为您只需要第一个:

>>> import re
>>> string = "11234"
>>> re.sub('1', 'I', string, 1)
'I1234'
>>> 
实际上只是:

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

你就不能像
'I'+string[1://code>那样做吗?注意:你的“Got Output”应该是
II234
,而不是
11234
,除非你说
translate
什么都没做。我复制并粘贴了代码,得到了预期的
iii234
。。。。