a###b####c###d#####e
是动态生成的,所以里面的###数量不确定,
有可能是
a###b###c###d###e
,a#####b####c#####d####e
,a#####b####c###d###e
....
但连接一下会大余等余3个的,且开始和结束没有#

解决方案 »

  1.   

    问下楼住:
    你的数据会不会是这样的/
    a#####b####c###d###e
    这个里面你要的数据是:a,##b,#c,,d,e
    也就是说你的数据前面会不会出现#符号!
      

  2.   

    在每个变量前会不会有#
    就是说会不会有
    a,b#,#c,#d##,e
    C和D的那种情况
    如果没有就用正则匹配下###,并且下一字符不为#的,然后替换下
      

  3.   

    <script language=javascript>
    re=/###([^#])/g
    str="a###b####c###d#####e"+"a";//为了防止最后一个字符后还有三个#,而上面的正则匹配不到,只好先添加一个字符用来匹配
    str3=str.match(re);
    str2=str.replace(re,"$$#$$$1");
    str2=str2.substr(0,str2.length-1);//去掉上面添加的那个字符a
    alert(str2);
    </script>
    已经测试过了,你试试
      

  4.   

    谢谢 hbhbhbhbhb1021的代码,很好使,我请问一下,如果我想把###替换为$#@,不知道你的代码怎样改,谢谢了!
      

  5.   

    <script language=javascript>
    re=/###([^#])/g
    str="a###b####c###d#####e"+"a";
    str3=str.match(re);
    str2=str.replace(re,"$$#@$1");//在这里修改
    str2=str2.substr(0,str2.length-1);
    alert(str2);
    </script>
      

  6.   

    hbhbhbhbhb1021(天外水火(我是SB,我要多努力)) (
    ie6.0下
    str2=str.replace(re,"$$#@$1");
    没问题了,可是在ie5.0下

    str2=str.replace(re,"$#@$1");  //去掉了头一个$
    才对了,
    请问第一个$是干什么用的,去掉有没关系呀?
    谢谢了!