每次出现X时如何添加一个空格?

问题描述

例如,我该怎么做:

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())