var str = "|12,12.0|13,12.0|14,11.12|"; 这是已有的字符串格式   当我传入 一个 参数“|12,” 是  把他替换成
|13,12.0|14,11.12|
传入参数“|14,” 时  替换成  |12,12.0|13,12.0|字符串长度比较长  才选择用正则表达式替换   会的朋友们 给个答案  谢谢

解决方案 »

  1.   


    function getString(str, param){
    var reg = new RegExp("\\" + param + "\\d+\\.\\d+", "g");
    return str.replace(reg, "");
    }
      

  2.   

    var str = "|12,12.0|13,12.0|14,11.12|";
    function testReplace(_str)
    {
    var reg=new RegExp('\\'+_str+'\\d+\\.\\d+','g'); 
    console.log(str.replace(reg,''));
    }   
    testReplace('|12,');
      

  3.   

    Sorry 可能是我写的字符串的例子有问题  那个 “.” 不一定存在的var str = "|12,12|13,12.0|14,11.12|17,12|";也有可能是这样的
      

  4.   

    var str = "|12,12.0|13,12.0|14,11.12|";
    function testReplace(_str)
    {
    var reg=new RegExp('\\'+_str+'\\d+(\\.\\d+)?','g'); 
    console.log(str.replace(reg,''));
    }   
    testReplace('|12,');
      

  5.   

    "\\" + param + "\\d+(\\.\\d+)?"
    或者干脆
    "\\" + param + "[^\|$]+"
      

  6.   

        <script type="text/javascript">
            function test(s) {
                var str = "|12,12.0|13,12.0|14,11.12|";
                var reg = new RegExp('\\' + s + '[^|]*', 'g');
                alert(str.replace(reg, ''));
            }
            test('|13,');
        </script>