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

Javascript 从大括号中替换字符的有效方法是什么?,javascript,jquery,Javascript,Jquery,我有下面的输入 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 spli

我有下面的输入

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都持开放态度


提前感谢

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

var输入='(a-d){12-16},(M-Z){5-8},[@$!^,12+-,23^!]//输入字符串
var output=input.replace(/\[.*?\]/g,函数(匹配){
返回匹配。替换(/,/g',);
});

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

var输入='(a-d){12-16},(M-Z){5-8},[@$!^,12+-,23^!]//输入字符串
var output=input.replace(/\[.*?\]/g,函数(匹配){
返回匹配。替换(/,/g',);
});

控制台日志(输出)这应该在barmar中发布这应该在barmar中发布我可以问一些问题吗
输入。替换(/\[.*?\]/g,函数(匹配){
这将使
[@$%!^,12+-,23^!]
等于
匹配
?然后
匹配;
将删除
如果我错了,请更正。我想了解它是如何发生的。。谢谢,是的,这就是它的工作原理。函数接收字符串中与regexp匹配的部分作为其参数。然后,它返回的任何内容都将替换该匹配项。barmar我可以请求一些
输入。替换(/\[.\]/g,函数(match){
这将使
[@$%!^,12+-,23^!]
等于
匹配
?然后
匹配。替换(/,/g.));
将删除
如果我错了,请更正。我想了解它是如何发生的。谢谢。是的,这就是它的工作原理。函数接收字符串中与regexp匹配的部分作为其参数。然后,它返回的任何内容都将替换该匹配项。