js正则表达式匹配字符串

现在假如有个变量是vars=“2.1,1.2.1,2.1,2.1.1,2.1”;求个函数函数接收一个字符串如2.1,求正则表达式匹配中间的2.1并用空字符串代替,而不匹配... 现在假如有个变量是 var s=“2.1,1.2.1,2.1,2.1.1,2.1”;
求个函数 函数接收一个字符串 如2.1,求 正则表达式匹配中间的2.1并用空字符串代替,而不匹配1.2.1 和 2.1.1之类的。
funciton test(id){
var s=“2.1,1.2.1,2.1,2.1.1,2.1”;
var reg = ....... //这一句不会写
var exp = new RegExp(reg,"g");
s.replace(exp,"");
}
test("2.1")
结果应该是1.2.1,2.1.1
展开
 我来答
zhaoapk
推荐于2016-11-28 · TA获得超过3771个赞
知道大有可为答主
回答量:1343
采纳率:40%
帮助的人:1606万
展开全部
function test(id){
   var s="2.1,1.2.1,2.1,2.1.1,2.1";
   // 给前后加逗号
   s = ',' + s + ',';
   // 转义id里的.(点), 不然new之后就变成通配符了
   id = id.replace(/\./, '\\.');
   var reg =  "," + id +",";
   var exp = new RegExp(reg,"g");
   s = s.replace(exp,",");
   // 删除前后逗号
   s = s.replace(/(^,)|(,$)/g, '');
   alert(s);
}
test("2.1")
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2013-08-28 · TA获得超过4630个赞
知道大有可为答主
回答量:1345
采纳率:50%
帮助的人:1630万
展开全部
function test(id){
    var s = '2.1,1.2.1,2.1,2.1.1,2.1';
    // var reg = /^2.1,|,2.1(?=,)|,2.1$/g;
    var reg = new RegExp('^' + id + ',|,' + id + '(?=,)|,' + id + '$','g');
    return s.replace(reg,'');
}

alert(test('2.1'));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式