str ='1,2,4,8,16'1,2,4,8
1,4,16
或者
2,4,8
4,16就是可以任意替换。
要么是替换第一位以后的,可以为‘,a’
要么是替换第一位的,'a,'
这样的替换怎么写呢?请高手指点下!
stringObject.replace(regexp,replacement)
1,4,16
或者
2,4,8
4,16就是可以任意替换。
要么是替换第一位以后的,可以为‘,a’
要么是替换第一位的,'a,'
这样的替换怎么写呢?请高手指点下!
stringObject.replace(regexp,replacement)
则:str = str.replace(/a/g,"b");也就是说replace()方法中的参数支持正则表达式。
当然,a是我传进的一个值。
譬如 a=1 ,那么就要匹配 “a,”的情况,(此时str='1,2,4,8,16')
如果,a=2,那么就要匹配 “,a”的情况,(此时str='1,2,4,8,16')有正则表达式高手的,请告诉我一下,谢谢!
<script>
var reg = /^(,[^,]*,?)|([^,]*,?)/;
var str = "1,2,4,8,16";
alert(str.replace(reg, ""));str = ",2,4,8,16";
alert(str.replace(reg, ""));
</script>
可是,我不懂你写得reg,也不知道怎么替换,你再帮我一把吧。
另外 5 楼的正则也是错的,试试 "123,3,4,5,6".replace(/(,?)1(,?)/,"$1").replace(/,$/,"")下面应该是对的<script>
var keyword = "1";// 要传入的参数
var reg = new RegExp("(^," + keyword + "(?=,|$),?)|(^" + keyword + "(?=,|$),?)", "i");
var str = "1,2,4,8,16";
alert(str.replace(reg, ""));str = ",2,4,8,16";
alert(str.replace(reg, ""));alert("123,4,5,6".replace(reg,"$1"));
顺便解释一下:(传入的参数为 exp)
("(^,exp(?=,),?)|(^exp(?=,|$),?)^ 字符串开始
, 一个逗号
,|& 逗号或者字符串结束
(?=,|$) 断言 exp 后面出现的是逗号,或者是字符串结束
,? 逗号出现 0 次或 1 次
| 前后两个表达式任意出现一个
应该是 ,|$