问题描述
例如,我该怎么做:
file1.exefile2.exefile3.exe
进入这个:
file1.exe file2.exe file3.exe
在这个例子中,“.exe”是 X。
解决方法
您可以先在x
上拆分给定的文本,在这种情况下为.exe
,然后通过x +
将所有拆分的项目连接起来,最后在空间上剥离以获得想要的结果。
text='file1.exefile2.exefile3.exe'
x = '.exe'
f'{x} '.join(text.split(x)).strip()
#output: 'file1.exe file2.exe file3.exe'
,
这应该可以完成工作。
text = ".exe ".join(text.split(".exe")).rstrip()
,
使用正则表达式:
import re
string = 'file1.exefile2.exefile3.exe'
print(re.sub('\.exe(?!$)','.exe ',string))
第一个参数是要匹配的正则表达式,第二个是替换,第三个是字符串。
正则表达式中的 \.
仅表示一个点(“.”),而 (?!$)
是对字符串末尾的否定前瞻。这样最后一个“.exe”就不会匹配了。简单来说,它检查下一个符号是否是字符串的结尾,如果是,则模式不匹配。
我会做这样的事情(如果你想手动做这件事)
string="file1.exefile2.exefile3.exe"
X="exe"
lenX=len(X)
temp=""
start=0
for i in range(string.count(X)):
string=string[start:]
if(X in string):
temp+=string[:string.index(X)+lenX]+" "
start=string.index(X)+lenX
print(temp.strip())