it-swarm.com.de

Zeichenfolge durch Leerzeichen und neue Zeile in Javascript teilen

Ich versuche Werte in Strings aufzuteilen, zum Beispiel habe ich einen String:

var example = "X Y\nX1 Y1\nX2 Y2"

und ich möchte es durch Leerzeichen trennen und \n also ich möchte so etwas bekommen:

var 1 = X
var 2 = Y
var 3 = X1
var 4 = Y1

Und kann ich überprüfen, ob nach dem Wert X ein Y vorhanden ist? Ich meine X und Y sind Lat und Lon, also brauche ich beide Werte.

23
lol2x

Sie können Zeilenumbrüche durch Leerzeichen ersetzen und dann durch Leerzeichen teilen (oder umgekehrt).

example.replace( /\n/g, " " ).split( " " )

Demo: http://jsfiddle.net/fzYe7/

Wenn Sie den String zuerst validieren müssen, ist es möglicherweise einfacher, ihn zuerst nach Zeilenumbrüchen zu teilen, das Ergebnis zu durchlaufen und jeden String mit einem regulären Ausdruck zu validieren, der den String gleichzeitig aufteilt:

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

Demo: http://jsfiddle.net/fzYe7/1/

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

console.log(array); 

jsfiddle: http://jsfiddle.net/fnPR8/

es wird Ihre Zeichenkette in eine Reihe von Wörtern aufteilen, dann müssten Sie darüber iterieren ...

10
gmaliar

Verwenden Sie einen regulären Ausdruck, um das String-Literal durch alle Leerzeichen zu teilen.

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

Arbeitsbeispiel http://jsfiddle.net/GJ4bw/

4
Kevin Bowersox

sie können es zuerst nach neuen Zeichen aufteilen und in einem Array speichern. Anschließend können Sie es nach Leerzeichen aufteilen.

folgendes kann einen Hinweis geben Link

1
dev2d