0

你如何用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(/\)/,'');
4

5 回答 5

2

通过分隔符拆分字符串并将它们与您的新分隔符连接:

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

或使用正则表达式:

var data = "(14.233,72.456),(12.4566,45.345),(12.456,13.567)";
data = data.slice(1, -1).replace(/\),\(/g, '#');
于 2013-10-07T13:38:25.613 回答
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('#');
于 2013-10-07T14:07:11.237 回答
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);
于 2013-10-07T13:52:55.190 回答
0

试试这个,这和你的代码几乎一样:

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

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

[编辑以消除捕获]

于 2013-10-07T14:15:12.893 回答
-2

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

于 2013-10-07T13:39:04.643 回答