在字符串的子串之前插入字符串

问题描述:

我想在字符串中的子串之前插入一些文本。在字符串的子串之前插入字符串

例如:

str = "thisissometextthatiwrote" 
substr = "text" 
inserttxt = "XX" 

我想:

str = "thisissomeXXtextthatiwrote" 

假设SUBSTR只能在STR出现一次,我怎么能达到这个结果?有一些简单的方法来做到这一点?

+0

看看这个答案的http:/ /stackoverflow.com/a/24450558/1326943 – Charl

+0

可能的重复[如何在给定的字符串中给定的索引插入一些字符串在Python](http://stackoverflow.com/questions/4022827/how-to-insert-some -string-in-the-given-string-at-given-index-in-python) – Dhina

+0

@DhinakaranThennarasu这不是一个骗局,因为那个人不问如何找到substr – GreenAsJade

my_str = "thisissometextthatiwrote" 
substr = "text" 
inserttxt = "XX" 

idx = my_str.index(substr) 
my_str = my_str[:idx] + inserttxt + my_str[idx:] 

PS:避免使用保留字(即你的情况str)作为变量名

使用str.split(substr)分裂海峡到['thisissome', 'thatiwrote'],既然你想之前插入一些文本子串,所以我们加入“XXtext”((inserttxt+substr))。

所以最终的解决方案应该是:

>>>(inserttxt+substr).join(str.split(substr)) 
'thisissomeXXtextthatiwrote' 

,如果你希望将一些文字追加后的子串,只需更换有:

>>>(substr+appendtxt).join(str.split(substr)) 
'thisissometextXXthatiwrote' 
+0

的索引,你可以添加一个解释吗? – Robert

+2

@Robert使用'str.split(substr)'将'str'拆分为'['thisissome','thatiwrote']',然后我们用“XXtext”('(inserttxt + substr)')加入它们。 –

+0

谢谢你。 =) – Robert