我写了这个函数:
function solution(input, markers) {
let inputcopy = input;
let regexstring = markers[0]+'.*?(?=\\\\n)';
let regexp1 = new RegExp(regexstring, 'gm');
return inputcopy.replace(regexp1,'a');
};
console.log(solution("apples, plums % and bananas\npears\noranges !applesauce", ["%", "!"]));
函数需要返回
apples, plums a\npears\noranges !applesauce
但它返回
apples, plums % and bananas\npears\noranges !applesauce
我应该改变什么?
最佳答案
将 \\\\n
更改为 \\n
。它应该有效。
function solution(input, markers) {
let inputcopy = input;
let regexstring = markers[0]+'.*?(?=\\n)';
let regexp1 = new RegExp(regexstring, 'gm');
return inputcopy.replace(regexp1,'a');
};
solution("apples, plums % and bananas\npears\noranges !applesauce", ["%", "!"])
关于javascript - 字符串中的替换不能按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53902632/