繁体   English   中英

在JavaScript中删除部分String

[英]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的第一个匹配项,并仅返回其后的所有内容

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

+ 1表示您还将删除换行符,以便新字符串的开头仅是原始字符串中第一个\\n之后的文本。

您也可以使用string.replace函数。

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

str.indexOf(“ \\ n”)+ 1获取第一个换行符后第一个字符的索引。 str.substr(str.indexOf(“ \\ n”)+ 1)从此索引获取str的子字符串

您可以使用substring(..)函数。 它是JavaScript内置的。 从文档:

substring()方法从两个指定索引之间的字符串中提取字符,然后返回新的子字符串。

用法:

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;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM