javascript - 字符串中的替换不能按预期工作

标签 javascript string replace

我写了这个函数:

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/

相关文章:

javascript - 使用 jQuery 和插件使表格可排序

regex - 如何在 MATLAB 中将字符串解析为字母、数字等?

xml - xsl : how to translate or replace string?

linux - 在 Linux 上的 vi 编辑器中查找并替换字符串?

c# - 凯撒密码如何同时替换多个字母?

javascript - 使用 ng-repeat 和 limitTo 限制显示的可见项的数量

javascript - JSON - 访问值和循环

javascript - 在 angular-chart-js 中删除图表中的所有边框

javascript - split() js 最后一个数组项

python split 和 re.split 不捕获字符串中出现的制表符或空格