Suchit kumar
Suchit kumar

Reputation: 11859

replace parenthesis in javascript

How do you replace parenthesis with javascript.

I have a format like this:

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

How can I get a format like given below:

14.233,72.456#12.4566,45.345#12.456,13.567

I have tried the following:

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

Upvotes: 0

Views: 2159

Answers (5)

Niccolò Campolungo
Niccolò Campolungo

Reputation: 12042

Splitting the string up by the delimiters and join them with your new delimiter:

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

Or using RegEx:

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

Upvotes: 2

user1636522
user1636522

Reputation:

You may try this (matches only float numbers) :

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) returns :

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

In addition, you might need to deal with an empty string :

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

Upvotes: 1

leoinfo
leoinfo

Reputation: 8195

Try this, which is almost the same as your code:

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

See here the code working: http://jsfiddle.net/K8ECj/

[Edited to eliminate capture]

Upvotes: 0

Anup
Anup

Reputation: 3353

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);

Upvotes: 0

kiran
kiran

Reputation: 305

You can use .replace("(", "").replace(")", "");

Upvotes: -2

Related Questions