121 Stimmen

Wie man die Anzahl der Zeilen eines Strings in Javascript zählt

Ich möchte die Anzahl der Zeilen in einer Zeichenkette zählen. Ich habe versucht, diese Stackoverflow-Antwort zu verwenden,

lines = str.split("\r\n|\r|\n"); 
return  lines.length;

auf diese Zeichenfolge (die ursprünglich ein Puffer war):

 GET / HTTP/1.1
 Host: localhost:8888
 Connection: keep-alive
 Cache-Control: max-age=0
 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.2 (KHTML,like Gecko) Chrome/15.0.874.121 Safari/535.2
 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
 Accept-Encoding: gzip,deflate,sdch
 Accept-Language: en-US,en;q=0.8
 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3

und, aus irgendeinem Grund, bekam ich lines='1' .

Haben Sie eine Idee, wie das funktionieren kann?

1voto

Chris - Jr Punkte 373

Ich testete die Geschwindigkeit der Funktionen und stellte immer wieder fest, dass diese Lösung, die ich geschrieben hatte, viel schneller war als match ing. Wir überprüfen die neue Länge der Zeichenkette im Vergleich zur vorherigen Länge.

const lines = str.length - str.replace(/\n/g, "").length+1;

let str = `Line1
Line2
Line3`;
console.time("LinesTimer")
console.log("Lines: ",str.length - str.replace(/\n/g, "").length+1);
console.timeEnd("LinesTimer")

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X