在python中使用split函数进行递归分割



我写了一段代码,它采用关键字并使用该特定关键字拆分名称,但是作为拆分返回列表,现在我想单独检查返回列表的元素并再次使用不同的关键字拆分它(如果它存在),但这次我不希望返回另一个子列表,而不是元素应该在同一列表中扩展。

下面的代码:-

def get_comb_drugs(keyword, name):
if keyword in name:
name = name.split(keyword)
return name
print(get_comb_drugs(", polymer with", "Acetaldehyde, polymer with ammonia and formaldehyde"))
我得到的输出是:
['Acetaldehyde', ' ammonia and formaldehyde']
但是,我想使用" and "关键字再次分割'ammonia and formaldehyde',我想要的确切输出是:
['Acetaldehyde', ' ammonia', 'formaldehyde']

引导我达到预期的结果。

您可以使用re.split替代模式:

import re
separators = [', polymer with', ' and ']
re.split('|'.join(separators), 'Acetaldehyde, polymer with ammonia and formaldehyde')

这回报:

['Acetaldehyde', ' ammonia', 'formaldehyde']

相关内容

  • 没有找到相关文章

最新更新