a###b####c###d#####e
是动态生成的,所以里面的###数量不确定,
有可能是
a###b###c###d###e
,a#####b####c#####d####e
,a#####b####c###d###e
....
但连接一下会大余等余3个的,且开始和结束没有#
是动态生成的,所以里面的###数量不确定,
有可能是
a###b###c###d###e
,a#####b####c#####d####e
,a#####b####c###d###e
....
但连接一下会大余等余3个的,且开始和结束没有#
你的数据会不会是这样的/
a#####b####c###d###e
这个里面你要的数据是:a,##b,#c,,d,e
也就是说你的数据前面会不会出现#符号!
就是说会不会有
a,b#,#c,#d##,e
C和D的那种情况
如果没有就用正则匹配下###,并且下一字符不为#的,然后替换下
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>
已经测试过了,你试试
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>
ie6.0下
str2=str.replace(re,"$$#@$1");
没问题了,可是在ie5.0下
要
str2=str.replace(re,"$#@$1"); //去掉了头一个$
才对了,
请问第一个$是干什么用的,去掉有没关系呀?
谢谢了!