python:使用regex删除特定字符的第一个实例

2024-09-27 02:21:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个脚本可以编译和.exe文件并运行该.exe的--tree=all。这将返回存储文件的目录,我希望使用该路径来运行它。在

这是我从--tree=all得到的输出

| | +-out\windows-x86-MD-mbcs-vs2008-rel\bin\VisualStudio08-32bit.exe

所以我用下面的方法去掉了这些特殊的字符

line = re.sub('[|+ -]','',lines),这是可行的,但它删除了所有insta -

但结果就是这样

out\windowsx86MDmbcsvs2008rel\bin\VisualStudio0832bit.exe

删除-的每个实例,如何确保只删除第一个实例?,剩下的就不用管了。在


Tags: 文件实例路径目录脚本treebinwindows
3条回答

您可以使用re.sub('^[|+ -]*', '', line)删除行首的特殊字符。在

如果您可以在名称前面使用“-”,但您并不坚持使用正则表达式:

s = '| | +-out\windows-x86-MD-mbcs-vs2008-rel\bin\VisualStudio08-32bit.exe'
print s.split('-', 1)[1]
# out\windows-x86-MD-mbcs-vs2008-relin\VisualStudio08-32bit.exe

您需要将replace拆分为两个,对于第二个,将替换次数限制为一个。在

line = re.sub('[|+ ]','',lines)
line = re.sub('-','',line, 1)

相关问题 更多 >

    热门问题