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

时间:2015-05-14 08:06:11

标签: python string

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

例如:

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

我想:

str = "thisissomeXXtextthatiwrote"

假设 substr 只能在 str 中出现一次,我该如何实现这个结果?有一些简单的方法可以做到吗?

4 个答案:

答案 0 :(得分:11)

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

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

ps:避免使用保留字(即您的案例中为str)作为变量名称

答案 1 :(得分:6)

使用str.split(substr)将str拆分为['thisissome', 'thatiwrote'],因为您要在子字符串之前插入一些文本,因此我们将其与“XXtext”({{1} })。

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

(inserttxt+substr)

如果你想在子字符串之后附加一些文字,只需替换为:

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

答案 2 :(得分:1)

为什么不使用replace

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

my_str.replace(substr, substr + inserttxt)
# 'thisissometextXXthatiwrote'

答案 3 :(得分:0)

关于问题(变量为“ my_str”),右侧为:

(inserttxt+substr).join(**my_str**.split(substr))