如何使用python单独替换字符串中的第一个字符?
string = "11234" translation_table = str.maketrans({'1': 'I'}) output= (string.translate(translation_table)) print(output)
预期输出:
I1234
实际输出:
11234
sz81bmfz1#
我不知道你想实现什么,但似乎你只是想用'I'替换'1'一次,所以试试这个:
'I'
'1'
string = "11234" string.replace('1', 'I', 1)
str.replace有3个参数old、new和count(可选)。count表示要将old子字符串替换为new子字符串的次数。
str.replace
old
new
count
mefy6pfw2#
在Python中,字符串是不可变的,这意味着你不能赋值给索引或修改特定索引处的字符。使用str.replace()代替。下面是函数头
str.replace(old, new[, count])
这个内置函数返回一个字符串的副本,其中所有出现的子字符串 old 都被 new 替换。如果给出了可选参数 count,则仅替换第一次出现的计数。如果不想使用str.replace(),可以利用拼接的优势手动完成
str.replace()
def manual_replace(s, char, index): return s[:index] + char + s[index +1:] string = '11234' print(manual_replace(string, 'I', 0))
输出量I1234
ycl3bljg3#
你可以使用re(regex),并在那里使用sub函数,第一个参数是你想要替换的东西,第二个是你想要替换的东西,第三个是字符串,第四个是计数,所以我说1,因为你只需要第一个:
re
sub
1
>>> import re >>> string = "11234" >>> re.sub('1', 'I', string, 1) 'I1234' >>>
实际上就是:
re.sub('1', 'I', string, 1)
ohtdti5x4#
如果我正确地解释了OP的“第一个字符”,那么如果匹配,它应该替换字符串的第一个且仅替换第一个字符:
string = "11234" translation_table = str.maketrans({'1': 'I'}) output = string[0].translate(translation_table) + string[1:] print(output)
vdgimpew5#
通过阅读你的问题,我明白你想在某个索引上替换你的sting的某个字符,在你的例子中,用'I'替换索引[0]上的字符,我的回答:我们知道字符串是不可变的,所以我们不能直接修改和替换字符,但是他们是一种绕过这个的方法,步骤:1.将字符串转换为列表1.更改指定索引上的字符1.变回一个圈套代码:
string = "11234" string_asList = list(string) #converts sting into list string_asList[0] = "I" #replace element at [O] index string = ''.join(string_asList) #converts list back to string print(string)
5条答案
按热度按时间sz81bmfz1#
我不知道你想实现什么,但似乎你只是想用
'I'
替换'1'
一次,所以试试这个:str.replace
有3个参数old
、new
和count
(可选)。count
表示要将old
子字符串替换为new
子字符串的次数。mefy6pfw2#
在Python中,字符串是不可变的,这意味着你不能赋值给索引或修改特定索引处的字符。使用str.replace()代替。下面是函数头
这个内置函数返回一个字符串的副本,其中所有出现的子字符串 old 都被 new 替换。如果给出了可选参数 count,则仅替换第一次出现的计数。
如果不想使用
str.replace()
,可以利用拼接的优势手动完成输出量
I1234
ycl3bljg3#
你可以使用
re
(regex),并在那里使用sub
函数,第一个参数是你想要替换的东西,第二个是你想要替换的东西,第三个是字符串,第四个是计数,所以我说1
,因为你只需要第一个:实际上就是:
ohtdti5x4#
如果我正确地解释了OP的“第一个字符”,那么如果匹配,它应该替换字符串的第一个且仅替换第一个字符:
vdgimpew5#
通过阅读你的问题,我明白你想在某个索引上替换你的sting的某个字符,在你的例子中,用'I'替换索引[0]上的字符,
我的回答:
我们知道字符串是不可变的,所以我们不能直接修改和替换字符,但是他们是一种绕过这个的方法,步骤:
1.将字符串转换为列表
1.更改指定索引上的字符
1.变回一个圈套
代码: