如何使用python替换字符串中的第一个字符?
string = "11234"
translation_table = str.maketrans({'1': 'I'})
output= (string.translate(translation_table))
print(output)
预期输出:
I1234
实际输出:
11234
答案 0 :(得分:2)
在Python中,字符串是不可变的,这意味着您无法分配给索引或修改特定索引处的字符。请改用str.replace()。这是函数头
str.replace(old, new[, count])
此内置函数返回该字符串的副本,其中所有出现的子字符串 old 都替换为 new 。如果给出了可选参数 count ,则仅替换第一个出现的计数。
如果您不想使用str.replace()
,则可以通过拼接手动进行操作
def manual_replace(s, char, index):
return s[:index] + char + s[index +1:]
string = '11234'
print(manual_replace(string, 'I', 0))
输出
I1234
答案 1 :(得分:0)
我不确定您要达到什么目标,但是似乎您只想将'1'
替换一次'I'
,所以尝试以下操作:
string = "11234"
string.replace('1', 'I', 1)
str.replace
包含3个参数old
,new
和count
(可选)。 count
表示您要用old
子字符串替换new
子字符串的次数。
答案 2 :(得分:0)
您可以使用re
(正则表达式)并在其中使用sub
函数,第一个参数是您要替换的东西,第二个参数是您要替换的东西,第三个参数是字符串,第四个是计数,所以我说1
,因为您只想要第一个:
>>> import re
>>> string = "11234"
>>> re.sub('1', 'I', string, 1)
'I1234'
>>>
实际上就是:
re.sub('1', 'I', string, 1)