如何用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(/\)/,'');
答案 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("(","")。替换(")","") ;