我有一个包含项目及其属性的文本文件,我想将它们分成列表中的单独项目。例如,这就是文本文件中的一行:
Garlic Bread 100g 400kCal 4g 200mg
我必须创建一些功能,您可以按名称,卡路里,脂肪等搜索食物。我知道如何将它们分成一个类似于['Garlic', 'Bread', '100g' '400kCal', '4g', '200mg']
的列表,但我的目标是是让它像['Garlic Bread 100g', '400kCal', '4g', '200mg']
我在下面使用了这个代码,但是假设我输入了100g,该程序还会输出其他不包含的食品100g'在标题中,而是在其他地方(如钠含量)
itemsearch = input("Enter a food item: ")
itemsearch = [item.strip() for item in itemsearch.lower().split(",")]
with open("nutriton.txt") as TxtFile:
for thing in TxtFile:
for item in itemsearch:
if item in thing:
print(thing)
很抱歉,如果我的解释有点令人困惑。我想我必须对item [:1]做一些事情,但我需要将列表项正确分开。
答案 0 :(得分:1)
import re
line = 'Garlic Bread 100g 400kCal 4g 200mg'
split_list = re.split(r'\s{2,}', line)
print(split_list)
出:
['Garlic Bread 100g', '400kCal', '4g', '200mg']