基本上,我需要确定字符串(实际上是路径)是否在相似的字符串中但更长。
我在列表中有此字符串:
/aa/bb/cc
/aa/bb/cc/11
/aa/bb/cc/22
/aa/bb/dd
/aa/bb/dd/33
/aa/bb/dd/44
我希望只在列表中放入一个字符串,例如:
/aa/bb/cc/11
/aa/bb/cc/22
/aa/bb/dd/33
/aa/bb/dd/44
我需要一个没有/ aa / bb / cc和/ aa / bb / dd的新列表,因为存在/ aa / bb / cc / 11和/ aa / bb / cc / 22,与/ aa / bb / dd相同,存在/ aa / bb / dd / 33和/ aa / bb / dd / 44,因此我不希望使用基本格式/ aa / bb / cc和/ aa / bb / dd。
我希望我很清楚:-D
如何在Python 3中进行操作?
致谢
答案 0 :(得分:0)
使用正则表达式。
import re
list_1 = ["/aa/bb/cc",
"/aa/bb/cc/11",
"/aa/bb/cc/22",
"/aa/bb/dd",
"/aa/bb/dd/33",
"/aa/bb/dd/44"]
regex = re.compile(r'/aa/bb/cc/+.')
obj = filter(regex.search, list_1)
regex2 = re.compile(r'/aa/bb/dd/+.')
obj2 = filter(regex2.search, list_1)
print(list(obj))
print(list(obj2))
输出:
['/ aa / bb / cc / 11','/ aa / bb / cc / 22']
['/ aa / bb / dd / 33','/ aa / bb / dd / 44']