从字符串中替换通配符
Replace wildcard from string
我有一个脚本正在创建这样的变量:
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()
的内容,但无法在此处使用。
根据您对数据的确定程度,您必须进行一些预解析,但您可以使用 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]
Python 并不真正处理通配符。您应该阅读更多关于 Regex 的内容,这不是 Python 特定的。
无论如何,这应该可以解决:
ex = "/Volumes/Obelix/5215.tif, /Volumes/Gemeinsam/25.tif, /Volumes/Obelix/5100.tif"
newex = re.sub(r'/Volumes/Gemeinsam/.+?,?(\s|$)', '', ex)
我有一个脚本正在创建这样的变量:
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()
的内容,但无法在此处使用。
根据您对数据的确定程度,您必须进行一些预解析,但您可以使用 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]
Python 并不真正处理通配符。您应该阅读更多关于 Regex 的内容,这不是 Python 特定的。
无论如何,这应该可以解决:
ex = "/Volumes/Obelix/5215.tif, /Volumes/Gemeinsam/25.tif, /Volumes/Obelix/5100.tif"
newex = re.sub(r'/Volumes/Gemeinsam/.+?,?(\s|$)', '', ex)