Python-替换字符串中字符的实例

发布于 2021-02-02 23:15:02

这个简单的代码仅尝试用冒号替换分号(在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

如何解决此问题,以冒号代替分号?使用replace不起作用,因为该函数不占用索引-可能有一些我不想替换的分号。

在字符串中,我可能有许多分号,例如“ Hei der!; Hello there;!;”

我知道我想替换哪些(我在字符串中有索引)。使用替换无法正常工作,因为我无法对其使用索引。

关注者
0
被浏览
106
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    python中的字符串是不可变的,因此你不能将它们视为列表并分配给索引。

    使用.replace()来代替:

    line = line.replace(';', ':')
    

    如果你只需要替换某些分号,则需要更具体。你可以使用切片来分隔要替换的字符串部分:

    line = line[:10].replace(';', ':') + line[10:]
    

    这将替换字符串的前10个字符中的所有分号。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看