在javascript中删除一行文本

Sha*_*ard 38 javascript text

在javascript中,如果我有一个像这样的文本块

Line 1
Line 2
Line 3
Run Code Online (Sandbox Code Playgroud)

我需要做什么才能说删除第一行并将其转换为:

Line 2
Line 3
Run Code Online (Sandbox Code Playgroud)

Dan*_*ory 55

最干净的方法是使用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');
Run Code Online (Sandbox Code Playgroud)

  • 你甚至可以在一行中完成它:`textblock.split("\n").slice(1).join("\n")` (31认同)
  • 这对于包含许多行的大型文本来说效率不高,在这种情况下使用`indexOf`版本. (2认同)

Koz*_*uch 42

这将删除多行字符串变量中的第一行 - 在Chrome版本23中对从文件(HTML5)读取的变量进行测试,其中行结尾/符号在记事本++中显示为CRLF(回车符+换行符):

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 ) )
Run Code Online (Sandbox Code Playgroud)

希望有所帮助!

  • 这对于较大的文件很有用,因为它避免了创建一个巨大的数组. (9认同)
  • 如果文本有很多行,这是正确的方法. (2认同)