2015-05-14 149 views
0

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

例如:

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

回答

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

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

PS:避免使用保留字(即你的情況str)作爲變量名

4

使用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