这是我的代码:
console.log("before:");
let str = "aaa bbb\nbbb ccc\naaa bbb\b";
console.log(str);
console.log("after:");
console.log(str.replace(/^bbb.*$/gm, ''));
我需要这样的输出:
before:
aaa bbb
bbb ccc
aaa bbb
after:
aaa bbb
aaa bbb
我试图这样做:
console.log(str.replace(/^bbb.*[\r|\n]$/gm, ''));
但是没有帮助。考虑到我只需要删除(以bbb
开头的行),该怎么做?
答案 0 :(得分:2)
只需在正则表达式模式末尾添加a = ['1', '2', '3']
print(sum([int(i) for i in a]))
即可选择换行符。因此模式应更改为\n
/^bbb.*$\n?/gm
答案 1 :(得分:1)
正则表达式只需进行调整:
str.replace(/^bbb.+\n/gm, '');
作品:
console.log("before:");
let str = "aaa bbb\nbbb ccc\naaa bbb\b";
console.log(str);
console.log("after:");
console.log(str.replace(/^bbb.+\n/gm, ''));
答案 2 :(得分:0)
使用它代替最后一行:
console.log("before:");
let str = "aaa bbb\nbbb ccc\naaa bbb\n";
console.log(str);
console.log("after:");
console.log(str.replace(/^bbb.*$\n?/gm, ''));
答案 3 :(得分:0)
输出中的空行由\n
生成。因此,要删除它,只需将\n
替换为''
。
console.log("before:");
let str = "aaa bbb\nbbb ccc\naaa bbb\b";
console.log(str);
console.log("after:");
console.log(str.replace(/bbb\s\w+\n/, ''));
因为有一个包含bbb
的子字符串,后跟一个空格,一些字母字符和\n
,所以我们不需要使用开头({ {1}}),以结尾(^
)。只需替换匹配的子字符串。 $
也可以删除。