我想在字符串中的子字符串之前插入一些文本.
例如:
str = "thisissometextthatiwrote"
substr = "text"
inserttxt = "XX"
Run Code Online (Sandbox Code Playgroud)
我想要:
str = "thisissomeXXtextthatiwrote"
Run Code Online (Sandbox Code Playgroud)
假设substr只能在str中出现一次,我该如何实现这个结果呢?有一些简单的方法可以做到这一点吗?
Duš*_*ďar 15
my_str = "thisissometextthatiwrote"
substr = "text"
inserttxt = "XX"
idx = my_str.index(substr)
my_str = my_str[:idx] + inserttxt + my_str[idx:]
Run Code Online (Sandbox Code Playgroud)
ps:避免使用保留字(即str在您的情况下)作为变量名
使用str.split(substr)分割字符串str的['thisissome', 'thatiwrote'],因为你要插入一些文本之前的子串,所以我们用"XXtext"(加入他们的行列(inserttxt+substr)).
所以最终的解决方案应该是:
>>>(inserttxt+substr).join(str.split(substr))
'thisissomeXXtextthatiwrote'
Run Code Online (Sandbox Code Playgroud)
如果你想在子字符串后附加一些文本,只需替换为:
>>>(substr+appendtxt).join(str.split(substr))
'thisissometextXXthatiwrote'
Run Code Online (Sandbox Code Playgroud)
为什么不使用replace?
my_str = "thisissometextthatiwrote"
substr = "text"
inserttxt = "XX"
my_str.replace(substr, substr + inserttxt)
# 'thisissometextXXthatiwrote'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6094 次 |
| 最近记录: |