简体   繁体   中英

How do I split this string with JavaScript?

Javascript:

var string = '(37.961523, -79.40918)';

//remove brackets: replace or regex? + remove whitespaces

array = string.split(',');

var split_1 = array[0];

var split_2 = array[1];

Output:

var split_1 = '37.961523';

var split_2 = '-79.40918';

Should I just use string.replace('(', '').replace(')', '').replace(/\\s/g, ''); or RegEx?

采用

string.slice(1, -1).split(", ");

You can use a regex to extract both numbers at once.

var string = '(37.961523, -79.40918)';
var matches = string.match(/-?\d*\.\d*/g);

You would probably like to use regular expressions in a case like this:

str.match(/-?\\d+(\\.\\d+)?/g); // [ '37.961523', '-79.40918' ]

EDIT Fixed to address issue pointed out in comment below

Here is another approach:

If the () were [] you would have valid JSON. So what you could do is either change the code that is generating the coordinates to produce [] instead of () , or replace them with:

str = str.replace('(', '[').replace(')', ']')

Then you can use JSON.parse (also available as external library ) to create an array containing these coordinates, already parsed as numbers:

var coordinates = JSON.parse(str);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM