Javascript中按空格和新行拆分字符串

Javascript中按空格和新行拆分字符串,javascript,string,split,Javascript,String,Split,我正在尝试拆分字符串中的值,例如,我有一个字符串: 我想用空格和\n来分隔它,所以我想得到这样的结果: 是否可以检查值X之后是否有Y?我的意思是X和Y是Lat和Lon,所以我需要这两个值。您可以先按新字符拆分它,然后将其存储在数组中,然后按spcae拆分它 以下内容可供参考 var string=“x y\nx1 y1\nx2 y2”; var array=string.match(/[^\s]+/g); console.log(数组)可以用空格替换换行,然后按空格分割(反之亦然) 演示:

我正在尝试拆分字符串中的值,例如,我有一个字符串:

我想用空格和
\n
来分隔它,所以我想得到这样的结果:


是否可以检查值
X
之后是否有
Y
?我的意思是
X
Y
是Lat和Lon,所以我需要这两个值。

您可以先按新字符拆分它,然后将其存储在数组中,然后按spcae拆分它

以下内容可供参考

var string=“x y\nx1 y1\nx2 y2”;
var array=string.match(/[^\s]+/g);

console.log(数组)可以用空格替换换行,然后按空格分割(反之亦然)

演示:

如果需要首先验证字符串,则可能更容易首先使用换行符拆分,循环结果并使用同时拆分字符串的正则表达式验证每个字符串:

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 ] );    
}
var example=“X Y\nX1 Y1\nX2 Y2”;
变量坐标=示例.split(“\n”);
var结果=[];
对于(变量i=0;i

演示:

使用正则表达式将字符串文本按所有空格分割

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]);
}
var example=“X Y\nX1 Y1\nX2 Y2”;
var tokens=example.split(/\s+/g);
console.log(tokens.length);
for(var x=0;x

工作示例

不允许您在JS中使用这些结构,因此您需要首先显示有效的JavaScript.duplicate:如果我想确认值X Y是数字?我正在尝试这样的方法:但它不起作用:/I如果我想将每个数值保存到变量中(在循环ofc中,因为我不知道我将获得多少坐标),那么可以将第一个数值保存到X*中,将第二个数值保存到Y*中吗?*这是一个数字
example.replace( /\n/g, " " ).split( " " )
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 ] );    
}
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]);
}