在javascript中替换括号

时间:2013-10-07 13:35:05

标签: javascript regex string

如何用javascript替换括号。

我有这样的格式:

(14.233,72.456),(12.4566,45.345),(12.456,13.567)

如何获得如下所示的格式:

14.233,72.456#12.4566,45.345#12.456,13.567

我尝试了以下内容:

bounds = bounds.replace(/\)\,\(/g,'#');
bounds = bounds.replace(/\(/g,'');
bounds = bounds.replace(/\)/,'');

5 个答案:

答案 0 :(得分:2)

用分隔符拆分字符串并将它们与新的分隔符连接起来:

var data = "(14.233,72.456),(12.4566,45.345),(12.456,13.567)";
data = data.slice(1, -1).split('),(').join('#');

或使用RegEx:

var data = "(14.233,72.456),(12.4566,45.345),(12.456,13.567)";
data = data.slice(1, -1).replace(/\),\(/g, '#');

答案 1 :(得分:1)

你可以试试这个(只匹配浮点数):

var s = '(14.233,72.456),(12.4566,45.345),(12.456,13.567)';
bounds = s.match(/\d+\.\d+,\d+\.\d+/g).join('#');

s.match(/\d+\.\d+,\d+\.\d+/g)返回:

['14.233,72.456', '12.4566,45.345', '12.456,13.567']

此外,您可能需要处理空字符串:

bounds = (s.match(/\d+\.\d+,\d+\.\d+/g) || []).join('#');

答案 2 :(得分:0)

var string = "(14.233,72.456),(12.4566,45.345),(12.456,13.567)";
var str = string.substring(1, string.length-1).split('),(').join('#');

alert(str);

答案 3 :(得分:0)

试试这个,这与您的代码几乎相同:

bounds = bounds.replace(/\),\(/g,'#').replace(/^\(|\)$/g,'');

请参阅此处的代码:http://jsfiddle.net/K8ECj/

[编辑消除捕获]

答案 4 :(得分:-2)

您可以使用.replace("(","")。替换(")","") ;