jquery 从大括号中替换字符的有效方法是什么?

mcvgt66p  于 12个月前  发布在  jQuery
关注(0)|答案(1)|浏览(94)

我有下面的输入

var input = (a-d){12-16},(M-Z){5-8},[@$%!^,12+-,23^!]

字符串
我需要删除方括号中的逗号,这样最终的输出将是

var output = (a-d){12-16},(M-Z){5-8},[@$%!^12+-23^!]


通过溶液

function test()
{
    var input = '(a-d){12-16},(M-Z){5-8},[@$%!^,12+-,23^!]'; //input string
    var splitByFirstBracket = input.split("["); //split the input by [ character    

    //merge the arrays where the second array is replaced by '' for ','
    var output = splitByFirstBracket[0] + '[' + splitByFirstBracket[1].replace(/,/g,'');    
    alert(output);
}


它正在正确地提供输出。有没有更好的方法-我对JavaScript和jQuery都是开放的。

a5g8bdjr

a5g8bdjr1#

你可以使用正则表达式替换。替换可以是一个函数,它接收regexp匹配的输入部分,然后它可以计算替换。在这种情况下,它将使用另一个replace调用来删除逗号。

var input = '(a-d){12-16},(M-Z){5-8},[@$%!^,12+-,23^!]'; //input string
var output = input.replace(/\[.*?\]/g, function(match) {
  return match.replace(/,/g, '');
});
console.log(output);

字符串

相关问题