我有一个创建这样的变量的脚本:
ex = "/Volumes/Obelix/5215.tif, /Volumes/Gemeinsam/25.tif, /Volumes/Obelix/5100.tif"
是否可以使用/Volumes/Gemeinsam/*
删除所有内容,因此我最终得到:
ex = "/Volumes/Obelix/5215.tif, /Volumes/Obelix/5100.tif"
我不熟悉Python中的通配符,所以我遇到了一些问题。我已经阅读了很多关于re.sub()
的内容,但无法在此处使用。
答案 0 :(得分:1)
Python并不真正处理通配符。您应该阅读有关Regex的更多信息,这不是特定于Python的。
无论如何,这应该照顾它:
ex = "/Volumes/Obelix/5215.tif, /Volumes/Gemeinsam/25.tif, /Volumes/Obelix/5100.tif"
newex = re.sub(r'/Volumes/Gemeinsam/.+?,?(\s|$)', '', ex)
答案 1 :(得分:0)
您需要进行一些预解析,具体取决于您对数据的确定程度,但您可以使用in in
运算符来检查字符串是否包含其他字符串。然后,您可以根据最可读的内容使用循环或列表推导。
ex = [x.strip() for x in "/Volumes/Obelix/5215.tif, /Volumes/Gemeinsam/25.tif, /Volumes/Obelix/5100.tif".split(',')]
check = "/Volumes/Gemeinsam"
new_ex = [x for x in ex if check not in x]