Удалить строку текста в JavaScript - PullRequest
33 голосов
/ 27 марта 2010

В javascript, если у меня есть текстовый блок, как это

Line 1
Line 2
Line 3

Что мне нужно сделать, чтобы, скажем, удалить первую строку и превратить ее в:

Line 2
Line 3

Ответы [ 5 ]

52 голосов
/ 27 марта 2010

Самый простой способ сделать это - использовать функции split и join, которые позволят вам манипулировать текстовым блоком в виде массива строк, например:

// 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');
36 голосов
/ 16 января 2013

При этом удаляется первая строка из многострочной строковой переменной - проверено в Chrome версии 23 на переменной, которая была прочитана из файла (HTML5) с окончаниями / разрывами строк, отображаемыми как CRLF (возврат каретки + перевод строки) в Notepad ++ :

var lines = `first
second
third`;

// cut the first line:
console.log( lines.substring(lines.indexOf("\n") + 1) );

// cut the last line:
console.log( lines.substring(lines.lastIndexOf("\n") + 1, -1 ) )

Надеюсь, это поможет!

2 голосов
/ 27 марта 2010

В двух словах: найдите первую строку return (\ n) и используйте функцию JavaScript replace, чтобы удалить все, что с ней связано (включая ее).

Вот RegEx, который делает это(удивительно сложно, по крайней мере, для меня ...)

<script type = "text/javascript">
var temp = new String('Line1\nLine2\nLine3\n');
temp = temp.replace(/[\w\W]+?\n+?/,"");
alert (temp);
</script>
0 голосов
/ 30 июня 2018

Я пошел немного дальше, чтобы вы могли выбрать количество строк в начале, которое вы хотите удалить:

Я использую это регулярное выражение, где X - номер строки, которую вы хотите удалить +1 (?:.*?\n){X}(?:.*?\n)

const lines = `Line1
Line2
Line3
Line4`;
const deleteLines = (string, n = 1)=>{
  return string.replace(new RegExp(`(?:.*?\n){${n-1}}(?:.*?\n)`), '');
};
console.log(deleteLines(lines, 2));
0 голосов
/ 27 марта 2010
var firstLineRemovedString = aString.replace(/.*/, "").substr(1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...