我的意思是,我想用另一个字符串替换str[9:11]
。
如果我使用str.replace(str[9:11], "###")
,它不起作用,因为序列[9:11]可能出现多次。
如果str是"cdabcjkewabcef"
,我会得到"cd###jkew###ef"
,但我只想替换第二个。
我的意思是,我想用另一个字符串替换str[9:11]
。
如果我使用str.replace(str[9:11], "###")
,它不起作用,因为序列[9:11]可能出现多次。
如果str是"cdabcjkewabcef"
,我会得到"cd###jkew###ef"
,但我只想替换第二个。
你可以做
s="cdabcjkewabcef"
snew="".join((s[:9],"###",s[12:]))
对于大字符串来说,这应该比像 snew=s[:9]+"###"+s[12:]
这样的连接方式更快。
yourString = "Hello"
yourIndexToReplace = 1 #e letter
newLetter = 'x'
yourStringNew="".join((yourString[:yourIndexToReplace],newLetter,yourString[yourIndexToReplace+1:]))
join()
函数来处理子字符串。s = 'cdabcjkewabcef'
sequence = '###'
indicies = (9,11)
print sequence.join([s[:indicies[0]-1], s[indicies[1]:]])
>>> 'cdabcjke###cef'
txt.replace(s, "***", 1).replace(s, "###").replace("***", s)
txt[::-1].replace(s[::-1], "###", 1)[::-1]
str = "cdabcjkewabcef"
print((str[::-1].replace('cba','###',1))[::-1])
word = "astalavista"
index = 0
newword = ""
addon = "xyz"
while index < 8:
newword = newword + word[index]
index += 1
ind = index
i = 0
while i < len(addon):
newword = newword + addon[i]
i += 1
while ind < len(word):
newword = newword + word[ind]
ind += 1
print newword