【发布时间】:2011-04-23 02:28:32
【问题描述】:
我有一个充满成分行的文本区域;通常采用 [数量] [测量] [成分] [附加] 格式。例如,一些成分行可能是:
1汤匙大蒜,切碎
1杯甜椒,切碎
我希望能够识别每个测量值和成分——您将如何处理它?我的思路是……
// loop thru line by line of textarea
// explode each line by the space thus line[0] would be 1, line[1] tablespoon, line[2] garlic... etc
现在这是我的问题,我不确定什么是有效的。我是否通过数据库搜索运行每一行 [X] 来搜索该测量值、成分等?但是由于“甜椒”是用空格隔开的,所以我不会得到匹配。
// does line[1] appear in the measurements table?
// does line[2] appear in the ingredients table?
还有其他人有什么创造性的解决方案吗?
【问题讨论】:
-
这很棘手。例如,他们可能会放“1 汤匙”,甚至“1 汤匙”或“1 汤匙”,而不是“1 汤匙”。或“1 汤匙”。或“cup of X”而不是“1 cup X”。除非您的用户非常听从您的输入标准(哈!),否则这将很难可靠地解析。您可能需要考虑使用 AI。特别是自然语言处理。或者只是有一群版主。 :)
-
哈哈,好东西。我希望结合使用一些解析和版主团队。如果代码可以减少版主解析成分列表所需的时间,我会很高兴。