首页 > 解决方案 > 替换字符串不能按预期工作

问题描述

我写了这个函数:

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

我应该改变什么?

标签: javascriptstringreplace

解决方案


更改\\\\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", ["%", "!"])

推荐阅读