删除 JavaScript 中的部分字符串

Remove part of String in JavaScript

我有一个像

这样的字符串
var str = "test\ntesttest\ntest\nstringtest\n..."

如果我达到了字符串中配置的行数 ('\n'),我想删除第一行。这意味着第一个 '\n' 的所有文本。

之前:

var str = "test1\ntesttest2\ntest3\nstringtest4\n...5"

之后:

var str = "testtest2\ntest3\nstringtest4\n...5"

Javascript 中有我可以使用的功能吗?

感谢帮助!

查找第一次出现的 \n 和 return 之后的所有内容

var newString = str.substring(str.indexOf("\n") + 1);

+ 1 意味着您还要删除换行符,以便新字符串的开头只是原始字符串中第一个 \n 之后的文本。

str.substr(str.indexOf("\n")+1)

str.indexOf("\n")+1 获取第一个换行符后第一个字符的索引。 str.substr(str.indexOf("\n")+1) 获取从该索引开始的 str 的子字符串

您也可以使用 string.replace 功能。

> var str = "test1\ntesttest2\ntest3\nstringtest4\n...5"
> str.replace(/.*\n/, '')
'testtest2\ntest3\nstringtest4\n...5'

您可以使用 substring(..) 函数。它内置于 JavaScript。来自文档:

The substring() method extracts the characters from a string, between two specified indices, and returns the new sub string.

Usage:

mystring.substring(start,end)

需要起始索引,不需要结束索引。如果省略结束索引,它将从字符串的开头到结尾进行子字符串化。

或者在您的情况下,类似于:

str = str.substring(str.indexOf('\n')+1);

如果我理解正确的话,你可以写出这样的函数

function removePart(str, count) {  
    var strCount = str.split('\n').length - 1;
    if(count > strCount) {   
        var firstIndex = str.indexOf('\n');
        return str.substring(firstIndex, str.length -1);
    }
    return str;
}