我怎样拼接一个字符串?

时间:2011-06-11 17:39:20

标签: python string

我知道我可以使用数组表示法切片 Python中的字符串:str[1:6],但我如何拼接呢?即,用另一个字符串替换str[1:6],可能是不同的长度?

5 个答案:

答案 0 :(得分:18)

字符串在Python中是不可变的。你能做的最好的是构造一个新的字符串:

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

答案 1 :(得分:13)

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

尝试下一步:

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

答案 2 :(得分:5)

没关系。以为可能有内置功能。写了这个:

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'

答案 3 :(得分:4)

Python字符串是不可变的,您需要手动:

new = str[:1] + new + str[6:]

答案 4 :(得分:3)

这样的尝试呢?

>>> str = 'This is something...'
>>> s = 'Theese are'
>>> print str
This is something...
>>> str = str.replace(str[0:7], s)
>>> print str
Theese are something...