如何实现将一个字符串中除了包含中文的{}对保留外,而将其余的所有{}删除,例如var strTest="int{1bv2a}mig{中国}lh{sfg}";最终实现为"int1bv2amig{中国}lhsfg" 

解决方案 »

  1.   

    var strTest = "int{1bv2a}mig{中国}lh{sfg}";
    strTest = strTest.replace(/\{([^\u4e00-\u9fa5]+)\}/g, "$1");
    alert(strTest);
      

  2.   


    楼上写的稍微有点问题,下面例子就不行了
    var strTest = "int{1bv2a}m{eee}ig{中国}lh{sfg}";
    strTest = strTest.replace(/\{([^\u4e00-\u9fa5]+?)\}/g, "$1");
    alert(strTest);
      

  3.   

    try...<script type="text/javascript"> 
        var strTest="int{1bv2a}mig{中国}lh{sfg}";
        var reg = /\{([^{}\u4e00-\u9fa5]*)\}/g;
        var result = strTest.replace(reg, "$1");
        document.write(result);
    </script>
      

  4.   

    var a = "0.013/5*20 0.012/5*30 0.013/5*20";
    alert(eval(a.replace(/ /g, "+")));
      

  5.   

    这个大哥啊,你这个正则表达式算出来的结果是:0.013/5*20+0.012/5*30+0.013/5*20。我要的结果是:0.013*20+0.012*30+0.013*20。
    具体要求是:a/b*c d/e*f g/h*i ...变成:a*c d*f g*i ...
      

  6.   

    var strTest = "int{1bv2a}m{eee}ig{中国}lh{sfg}";
    strTest = strTest.replace(/{\w*}/g, "");
    alert(strTest);这个可以吗
      

  7.   


    <script>
    var s="0.013/5*20 0.012/5*30 0.013/5*20";
    s=s.replace(/\/\d*/g,"");
    s=s.replace(/ /g,"+");
    alert(eval(s));
    </script>