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

时间:2019-04-05 03:15:15

标签: python python-3.x replace

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

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

预期输出:

I1234

实际输出:

11234

3 个答案:

答案 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个参数oldnewcount(可选)。 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)