替换 JavaScript 中的括号

replace parenthesis in javascript

本文关键字:JavaScript 替换      更新时间:2023-09-26

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

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

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, '#');
你可以

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

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('#');
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);

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

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

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

[编辑以消除捕获]

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