如果一行包含特定字符串,如何删除整行?
#RemoveMe
如果一行包含特定字符串,如何删除整行?
#RemoveMe
如果你有一个多行字符串,你可以使用带有 m
标志的 RegExp:
var str = 'line1\n'+
'line2\n'+
'#RemoveMe line3\n'+
'line4';
str.replace(/^.*#RemoveMe.*$/mg, "");
m
标志将把元字符^
和$
视为每行的开头和结尾,而不是整个字符串的开头或结尾。
正如@CMS所建议的那样,它只是用""替换了该行,但仍有一行额外的内容。
对于字符串:
var str = 'line1\n'+
'line2\n'+
'#RemoveMe line3\n'+
'line4';
line1
line2
line4
替代
line1
line2
line4
试试这个:
str.split('\n').filter(function(line){
return line.indexOf( "#RemoveMe" ) == -1;
}).join('\n')
所有包含字符串“#RemoveMe”的行都被简单地过滤掉,还可以在过滤过程中使用多个关键字。