Разделение строки по пробелу и новая строка в Javascript
Я пытаюсь разбить значения в строке, например, у меня есть строка:
var example = "X Y\nX1 Y1\nX2 Y2"
и я хочу отделить его пробелами и \n
, поэтому я хочу получить что-то вроде этого:
var 1 = X
var 2 = Y
var 3 = X1
var 4 = Y1
И можно ли проверить, что после значения X у меня есть Y? Я имею в виду, что X и Y - Lat и Lon, поэтому мне нужны оба значения.
Ответы
Ответ 1
Вы можете заменить новые строки пробелами и затем разбить по пробелам (или наоборот).
example.replace( /\n/g, " " ).split( " " )
Демо: http://jsfiddle.net/fzYe7/
Если вам нужно сначала проверить строку, сначала может быть проще разбить на новую строку, пропустить результат и проверить каждую строку с регулярным выражением, которое разделяет строку в одно и то же время:
var example = "X Y\nX1 Y1\nX2 Y2";
var coordinates = example.split( "\n" );
var results = [];
for( var i = 0; i < coordinates.length; ++i ) {
var check = coordinates[ i ].match( /(X.*) (Y.*)/ );
if( !check ) {
throw new Error( "Invalid coordinates: " + coordinates[ i ] );
}
results.push( check[ 1 ] );
results.push( check[ 2 ] );
}
Демо: http://jsfiddle.net/fzYe7/1/
Ответ 2
var string = "x y\nx1 y1\nx2 y2";
var array = string.match(/[^\s]+/g);
console.log(array);
Ответ 3
Используйте регулярное выражение для разделения литерала строки на все пробелы.
var example = "X Y \nX1 Y1 \nX2 Y2";
var tokens = example.split(/\s+/g);
console.log(tokens.length);
for(var x = 0; x < tokens.length; x++){
console.log(tokens[x]);
}
Рабочий пример http://jsfiddle.net/GJ4bw/
Ответ 4
вы можете сначала разбить его на новый char и сохранить его в массиве, а затем вы можете разбить его на spcae.
следующее может дать ссылку Ссылка