RegExp Split \r\n in Javascript

nrg

Top Contributor
Hallo,

warum liefert folgender Split in Javascript den Wert 7?

Java:
var test = "A\r\n\r\nB\r\nC\r\n";
return test.split(/(\r?\n)+/).length;

In Java liefert es wie erwartet 3.

Hat jemand eine Idee?
 
Habs gerade getestet, hab aber ehrlich gesagt auch keine Antwort...

Edit: Höhöhö, die Group ist dafür verantwortlich. Verwende [c](?:foobar)[/c] statt [c](foobar)[/c] und du erhälst 4 Gruppen. Letztere, leere, weil wohl Implementation nicht gleich wie in Java.
 
Zuletzt bearbeitet:
stimmt. so funktioniert es:

Java:
test.split(/[\r?\n]+/);

mit dem leeren am ende kann ich leben. danke
 
nrg, [c]/[\r?\n]+/[/c] ist aber was anderes. Da müsstest du [c]/[\r\n]+/[/c] verwenden. Oder eben, falls dir die Reihenfolge nicht egal ist...: [c]/(?:\r?\n)+/[/c].
 

Zurück
Oben