我该如何插入字符串?

19 投票
6 回答
67547 浏览
提问于 2025-04-16 19:22

我知道在Python中可以用数组的方式来“切片”一个字符串,比如用 str[1:6],但是我该怎么“拼接”呢?也就是说,怎么把 str[1:6] 替换成另一个字符串,可能这个新字符串的长度还不一样?

6 个回答

15

你不能这样做,因为在Python中,字符串是不可改变的。

试试下面的方法:

new_s = ''.join((s[:1], new, s[6:]))
26

在Python中,字符串是不可改变的。这意味着你不能直接修改一个已经存在的字符串。你能做的最好的事情就是创建一个新的字符串:

t = s[:1] + "whatever" + s[6:]
7

没关系。我原以为会有一个内置的函数可以用,但我自己写了这个:

def splice(a,b,c,d=None):
    if isinstance(b,(list,tuple)):
        return a[:b[0]]+c+a[b[1]:]
    return a[:b]+d+a[c:]

>>> splice('hello world',0,5,'pizza')
'pizza world'

>>> splice('hello world',(0,5),'pizza')
'pizza world'

撰写回答