逆re.split

时间:2016-01-13 18:17:28

标签: python

我有C:/Users/nash08/Desktop/NUKE_OITO_MEDIA/PRODUTORAS/PYTHON/WORK_INTERNO/_CENAS_FX/N10/N01_V01_NK08.%04d.dpx

我想要删除路径中的所有内容,直到produtoras这样的话:

/PRODUTORAS/PYTHON/WORK_INTERNO/_CENAS_FX/N10/N01_V01_NK08.%04d.dpx

我对正则表达式的了解非常平庸,我习惯的唯一方法是将/这样的路径分开

rpath = path.rsplit('/',1)[0]
rpath2 = re.split('/',path)

并指向我想要的地方。

3 个答案:

答案 0 :(得分:3)

你正在使用正则表达式。 这有效:

t = "C:/Users/nash08/Desktop/NUKE_OITO_MEDIA/PRODUTORAS/PYTHON/WORK_INTERNO/_CENAS_FX/N10/N01_V01_NK08.%04d.dpx"
output = re.search(".*(/PRODUTORAS.*)", t)
print output.group(1)
>'/PRODUTORAS/PYTHON/WORK_INTERNO/_CENAS_FX/N10/N01_V01_NK08.%04d.dpx'

答案 1 :(得分:1)

这是一个简单的方法:

if '/PRODUTORAS/' in mypath:
    newpath = '/PRODUTORAS/' + mypath.split('/PRODUTORAS/', 1)[1]

仅当您使用正斜杠作为路径分隔符并且PRODUTORAS大写时才有效。

答案 2 :(得分:0)

如果您的前缀没有更改,则此代码将起作用:

path = "C:/Users/nash08/Desktop/NUKE_OITO_MEDIA/PRODUTORAS/PYTHON/WORK_INTERNO/_CENAS_FX/N10/N01_V01_NK08.%04d.dpx"
prefix = "C:/Users/nash08/Desktop/NUKE_OITO_MEDIA/"

print path.strip(prefix)

#Output:
>>> 'PRODUTORAS/PYTHON/WORK_INTERNO/_CENAS_FX/N10/N01_V01_NK08.%04d.dpx'