In Javascript, wenn ich wie so einen Textblock habenLöschen einer Zeile Text in JavaScript
Line 1
Line 2
Line 3
Was ich brauchen würde, zu tun, um lässt die erste Zeile sagen löschen und schalten Sie ihn in:
Line 2
Line 3
In Javascript, wenn ich wie so einen Textblock habenLöschen einer Zeile Text in JavaScript
Line 1
Line 2
Line 3
Was ich brauchen würde, zu tun, um lässt die erste Zeile sagen löschen und schalten Sie ihn in:
Line 2
Line 3
Der sauberste Weg, dies zu tun, ist die Spaltung und kommen Funktionen zu verwenden, die Sie den Textblock als ein Array von Linien manipulieren lassen, etwa so:
// break the textblock into an array of lines
var lines = textblock.split('\n');
// remove one line, starting at the first position
lines.splice(0,1);
// join the array back into a single string
var newtext = lines.join('\n');
auf den Punkt gebracht: (. und einschließlich it) Achten sie auf die erste Zeile Return (\ n) und die Funktion JavaScript replace
verwenden, um alles zu entfernen, um es
ist hier ein RegEx, die es tut (surprisi ngly heikel, zumindest für mich ...)
<script type = "text/javascript">
var temp = new String('Line1\nLine2\nLine3\n');
temp = temp.replace(/[\w\W]+?\n+?/,"");
alert (temp);
</script>
Da Sie den Parameter/g ("global replace") verwenden, glaube ich, dass dieser Ausdruck den Effekt hat, alle Zeilen zu löschen (mit Ausnahme des letzten, wenn er nicht mit Zeilenumbrüchen endet). –
Das ist mir aufgefallen, danke. Probleme mit der sprichwörtlichen Schere hier ... – LesterDove
Ich denke, die Frage war eher, eine * spezifische Zeile * zu entfernen als nur die erste Zeile. Diese Lösung funktioniert nicht wirklich gut zum Löschen beliebiger Zeilen nach Nummer oder nach Inhalt. – ShZ
var firstLineRemovedString = aString.replace(/.*/, "").substr(1);
Dies entfernt die erste Zeile aus einer Zeichenfolge variable mehrzeiligen - getestet in Chrome Version 23 auf einer Variable, die aus der Datei (HTML5) mit Zeilenenden/Pausen gelesen wurden, die als CRLF zeigte (carriage return + Zeilenvorschub) in Notepad ++:
lines = lines.substring(lines.indexOf("\n") + 1);
Hoffe, dass hilft!
Das ist gut für größere Dateien, weil es vermeidet, ein riesiges Array zu erstellen. –
Dies ist der richtige Ansatz, wenn der Text viele Zeilen hat. –
Ich vertraue darauf, dass niemand mehr eine einzige \ r für Zeilenumbrüche verwendet. – Andy
Sie könnten es sogar in einer Zeile tun: 'textblock.split (" \ n "). Slice (1) .join (" \ n ")' – nickf
Dies ist nicht effizient für großen Text mit vielen Zeilen, verwenden Sie die 'indexOf 'Version in diesem Fall. –