如果包含如下所示的特定字符串,如何删除完整的行?
#RemoveMe
答案 0 :(得分:25)
如果你有一个多行字符串,你可以使用带有m
标志的RegExp:
var str = 'line1\n'+
'line2\n'+
'#RemoveMe line3\n'+
'line4';
str.replace(/^.*#RemoveMe.*$/mg, "");
m
标记会将^
和$
元字符视为每行的开头和结尾,而不是整个字符串的开头或结尾。
答案 1 :(得分:2)
如@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'的行都被简单过滤掉,在过滤过程中也可以使用多个关键字。