我有几行文字的textarea。我想删除包含特定单词的行,例如" car"。
<textarea id="test">cars_and_house
tree_and_car
tree_and_house
cat_and_car</textarea>
使textarea看起来像那样(没有空行):
<textarea id="test">tree_and_house</textarea>
我想从val.replace开始,但是如何删除整条线?
$( "#test" ).val().replace("car", "") ;
答案 0 :(得分:4)
您可以拆分换行符\n
并过滤掉包含单词cat
的内容。您还需要重新设置当前未执行的value属性。
$('#test').val(function(_, val){
return val.split("\n").filter(function(line){
return line && line.indexOf("car") == -1
}).join("\n");
});
答案 1 :(得分:0)
你正在使用的是旧的vanilla javascript替换功能。 jQuery有自己的替换函数:$ .replaceWith()。
我也会建议online regeular expression tester,它就像一个魅力,并提供非常有用的反馈。
我认为此代码段适用于您:
var newValue = $("#test").val().replace(/([\w]?)*car([\w]?)*/gi,"");
$("#test").val(newValue);
其中 g 搜索的内容超过第一个匹配项, i 使其不区分大小写。
希望它有所帮助。
答案 2 :(得分:0)
这:$( "#test" ).val().replace(/^.*car.*\n?/gim,"");
返回:
tree_and_house
这:$( "#test" ).val().replace(/^.*car.*/gim,"");
返回:
//empty row
//empty row
tree_and_house
如果您需要case sensitive
匹配,请删除i
:
/^.*car.*/gm
这与Car
或cAr