我想在字符串中的子字符串之前插入一些文本。
例如:
str = "thisissometextthatiwrote"
substr = "text"
inserttxt = "XX"
我想:
str = "thisissomeXXtextthatiwrote"
假设 substr 只能在 str 中出现一次,我该如何实现这个结果?有一些简单的方法可以做到吗?
答案 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))