先说一点
0.2g:2g*2片*4板转换为
0.2g:2g:2片:4板或0.2g*2g*2片*4板
然后分解为
0.2g 2g 2片 4板
接下来写个方法,只取数值单位分离。
0.2g变成一个数组

解决方案 »

  1.   

    我得将值赋给不同的变量,如:
    hanl=0.2
    dw1=g
    zhongl=2
    dw2=g
    banz1=2
    dw3=片
    banz2=4
    dw4=板
    而且,从数据库里取出的字符串中可能某项为空
    请再给些TIPS
      

  2.   

    try:<script>
    var re = /\*/gi;
    var s="0.2g:2g*2片*4板:50公斤*100" ;
    s = s.replace(re,":") ;
    var arr = s.split(":") ;var unit = new Array() ;
    var num = new Array() ;
    for(var i=0;i<arr.length;i++)
    {
    var tmp = arr[i] ;
    unit[i] = "" ;
    num[i] = "" ;
    while(tmp.length>0 && isUnit(getRightWord(tmp)))
    {
    unit[i]=getRightWord(tmp)+unit[i] ;
    tmp = tmp.substring(0,tmp.length-1) ;
    }
    num[i] = tmp ;
    alert("unit["+i+"]="+unit[i]) ;
    alert("num["+i+"]="+num[i]) ;}function getRightWord(s)
    {
    return s.substring(s.length-1) ;
    }
    function isUnit(v){
    return isNaN(Number(v)) ;
    }
    </script>
      

  3.   

    分割容易作到,可是各位高手,我要的是赋给变量啊!!
    0.2g是含量就要赋给hanl
    2g是重量就要赋给zhongl
    2片是包装量就要赋给baoz
    而且是有时仅有重量或包装量try again!