替换字符串中字符的实例

替换字符串中字符的实例

这段简单的代码试图用冒号替换分号(在i指定的位置),但不起作用:

for i in range(0,len(line)):
     if (line[i]==";" and i in rightindexarray):
         line[i]=":"

它给出了错误

line[i]=":"TypeError: 'str' object does not support item assignment

我怎么才能用冒号代替分号呢?使用REPLE不起作用,因为该函数不需要索引-可能有一些分号我不想替换。

在字符串中,我可能有任意数量的分号,如“嗨!;你好;!”

我知道我想替换哪些(我在字符串中有它们的索引)。使用替换不起作用,因为我无法使用索引。


qq_遁去的一_1
浏览 454回答 3
3回答

墨色风雨

python中的字符串是不可变的,因此不能将它们作为一个列表来分配给索引。使用.replace()相反:line = line.replace(';', ':')如果您只需要替换定分号,你需要更具体。可以使用切片隔离要替换的字符串的区段:line = line[:10].replace(';', ':') + line[10:]它将替换字符串前10个字符中的所有分号。

慕容森

如果不想使用,可以在给定索引处用相应的字符替换任何字符,如下所示.replace()word = 'python'index = 4char = 'i'word = word[:index] + char + word[index + 1:]print word o/p: pythin

紫衣仙女

将字符串转换为列表,然后可以单独更改字符。然后你可以把它放在一起.join:s&nbsp;=&nbsp;'a;b;c;d'slist&nbsp;=&nbsp;list(s)for&nbsp;i,&nbsp;c&nbsp;in&nbsp;enumerate(slist): &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;slist[i]&nbsp;==&nbsp;';'&nbsp;and&nbsp;0&nbsp;<=&nbsp;i&nbsp;<=&nbsp;3:&nbsp;#&nbsp;only&nbsp;replaces&nbsp;semicolons&nbsp;in&nbsp;the&nbsp;first&nbsp;part&nbsp;of&nbsp;the&nbsp;text &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;slist[i]&nbsp;=&nbsp;':'s&nbsp;=&nbsp;''.join(slist)print&nbsp;s&nbsp;#&nbsp;prints&nbsp;a:b:c;d
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python