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