【发布时间】:2011-02-25 05:29:13
【问题描述】:
如果包含如下特定字符串,如何删除完整的行?
#RemoveMe
【问题讨论】:
-
从什么中删除?您是在谈论在变量中有一个长的多行字符串并替换它的一部分吗?您是在谈论从 DOM 中删除一行 HTML 吗?还是什么?
标签: javascript replace
如果包含如下特定字符串,如何删除完整的行?
#RemoveMe
【问题讨论】:
标签: javascript replace
如果您有一个多行字符串,您可以使用带有m 标志的正则表达式:
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”的行都被简单地过滤掉,过滤时也可以使用多个关键字。
【讨论】: