我想删除不属于预定义列表的单词。例如,如果我的名单是:如何从一行文本中使用Python过滤表达式?
ANIMAL
BIRD
CARNIVORE
HERBIVORE
MAMMAL
OMNIVORE
我的输入是这样的:
(ANIMAL (CARNIVORE (BIRD Peacock)) (HERBIVORE (MAMMAL Goat)))
我希望我的输出是:
(ANIMAL (CARNIVORE (BIRD)) (HERBIVORE (MAMMAL)))
我尝试这样做:
current_split = re.split("\W", test)
for thing in current_split:
if thing in parse_symbols:
print thing
但是这删除了括号,我得到这个:
ANIMAL
CARNIVORE
BIRD
HERBIVORE
MAMMAL
同时,由于for
循环,越来越推出新行,这是我不想要的。
我在做什么错?
是您输入总是有括号你想保持?所以需要删除的唯一东西是额外的字母字符串? – mattjegan
你想添加一个“,”打印后,并添加一个级别以上的换行 –
@mattjegan是的。 – user110327