我正在构建一个红宝石配方管理应用程序,作为其中的一部分,我希望能够将成分数量解析为我可以比较和扩展的形式。我想知道最好的工具是什么。
我最初计划使用一个复杂的正则表达式,然后是一些其他将人类可读的数字(如two
或five
)转换为整数的代码,最后是将 say1 cup
和3 teaspoons
转换为一些基本度量的代码。我控制输入,所以我将实际成分分开。但是,我注意到用户输入了抽象度量,例如to taste
和1 package
。至少对于抽象测量,我想我可以忽略它们并缩放并刮掉它们之前的任何数字。
这里还有一些例子
1 tall can
1/4 cup
2 Leaves
1 packet
To Taste
One
Two slices
3-4 fillets
Half-bunch
2 to 3 pinches (optional)
这有什么技巧吗?我注意到用户似乎对数量的构成有些困惑。我可以尝试执行更严格的规则,并将诸如tall can
和之类的东西推leaves
入成分部分。但是,为了强制执行,我需要能够传达无效的内容。
我也不确定我应该将数量转换为什么“基础”测量。
这些是我的目标。
能够扩展食谱。 任意度量单位,例如
packages
不必缩放,但精确的度量单位喜欢cups
或ounces
需要缩放。找出“主要”成分。 在这个问题的背景下,这将主要通过弄清楚配方中最大的成分是什么来完成。在生产中,必须有某种基于成分类型的修饰符,因为很明显,
flour
几乎从未将其视为“主要”成分。不过,chocolate
可以少用,还是可以说是一个chocolate cake
。规范化输入。 为了保持网站的一致性,我想保持一致的缩写。例如,
pounds
应该是,而不是lbs
。