javascript - 替换字符串不能按预期工作
问题描述
我写了这个函数:
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", ["%", "!"])
推荐阅读
- git - 前面的正则表达式 git secret 无效
- swift - 如何在 Firebase 动态链接 iOS Swift 中添加 OFL 链接?
- c++ - 如何将多个数字优化为一个短字符串,然后再转换回来?
- python - Pipenv 没有创建 Pipfile 也没有在正确的位置创建环境
- java - 无法在 Android 中发送带有 PDF 文件作为附件的电子邮件
- time-complexity - if 在 for 循环中的时间复杂度
- python - Python pandas - 按A列分组并防止b列重复存在?
- python - python错误“无法根据规则'same_kind'将数组数据从dtype('O')转换为dtype('float32')”
- javascript - 询问如何从 firebase 获取反应数据
- macos - 将音频数据从 c 应用程序路由到 mac os 中的虚拟音频驱动程序