在Javascript中,从字符串开头分隔数字整数、小数和/或分数

在Javascript中,从字符串开头分隔数字整数、小数和/或分数,javascript,Javascript,基本上,我正在尝试将这些量从它们各自的测量值中分离出来,作为一个食谱列表。这样我就可以根据需要的发球次数来调整发球量。我进行了计算,但仍在尝试编辑字符串,以便在JavaScript的数学计算中使用 下面是一个可能值的列表,第一个括号中是我实际需要的值。但我还需要保留第二个括号中显示的测量值 1g(1)(g) 1 g(1)(g) 1/2杯(0.5杯) 1/2杯(0.5)(杯) 1 1/2杯(1.5杯) 1 1/2杯(1.5)(杯) 2.5g(2.5)(g) 我的问题是数量和度量值在同一个DB字

基本上,我正在尝试将这些量从它们各自的测量值中分离出来,作为一个食谱列表。这样我就可以根据需要的发球次数来调整发球量。我进行了计算,但仍在尝试编辑字符串,以便在JavaScript的数学计算中使用

下面是一个可能值的列表,第一个括号中是我实际需要的值。但我还需要保留第二个括号中显示的测量值

  • 1g(1)(g)
  • 1 g(1)(g)
  • 1/2杯(0.5杯)
  • 1/2杯(0.5)(杯)
  • 1 1/2杯(1.5杯)
  • 1 1/2杯(1.5)(杯)
  • 2.5g(2.5)(g)

我的问题是数量和度量值在同一个DB字段中,我无法在后端将它们分开,而不破坏原始代码的分配。此外,作者对代码的任何更新都意味着我必须重新编码。因此,任何关于获取正确值的帮助都将不胜感激。

您可以使用正则表达式:

var输入=[
‘1g(1)(g)’,
"1 g(1)(g)",,
“1/2杯(0.5杯)”,
“1/2杯(0.5杯)”,
“1 1/2杯(1.5杯)”,
“1 1/2杯(1.5杯)”,
‘2.5g(2.5)(g)’;
函数提取(项目){
返回项。匹配(/\([^\)]+)\([^\)]+)\/)。切片(1);
}
var输出=input.map(提取);
document.getElementById('output').innerHTML=JSON.stringify(output)

您可以将当前的javascript。另外,你所说的“作者对代码的任何更新都意味着我必须重新编码”是什么意思?不确定应该做什么,但按原样测试,什么也没有显示。也不确定你是否理解我在做什么。您已将我作为示例键入的内容准确地输入到代码中。括号是我希望从中得到的两个变量。因此,如果我有1/2cup作为值,通过脚本运行它,我应该得到var1=0.5var2=cup,倍数是我可能得到的初始值的大多数不同变化。哦,刚才注意到你把值作为数组放在那里,这不会发生,一次一个。@ShaunWilliams我把它们放在数组中只是为了测试,如果你想把它们放在var1和var2中,只需使用
var array=extract('2.5g(2.5)(g)');var1=数组[0];var2=数组[1]