Javascript 替换为字符串不';我不能如愿工作
我编写了这个函数:Javascript 替换为字符串不';我不能如愿工作,javascript,string,replace,Javascript,String,Replace,我编写了这个函数: 函数解决方案(输入、标记){ 让inputcopy=输入; 让regexstring=markers[0]+'.*(?=\\\\n'); 设regexp1=newregexp(regexstring,'gm'); 返回inputcopy.replace(regexp1,'a'); }; log(解决方案(“苹果、李子和香蕉”\n果穗\n果酱”[“%”、“!”])将\\\\n更改为\\n。它应该会起作用 function solution(input, markers) {
函数解决方案(输入、标记){
让inputcopy=输入;
让regexstring=markers[0]+'.*(?=\\\\n');
设regexp1=newregexp(regexstring,'gm');
返回inputcopy.replace(regexp1,'a');
};
log(解决方案(“苹果、李子和香蕉”\n果穗\n果酱”[“%”、“!”])代码>将\\\\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", ["%", "!"])
您可以同时使用字符串结尾符号$
和多行标志m
否则,您不需要多行标志,只需要右换行符和双反斜杠\\n
函数解决方案(输入、标记){
让inputcopy=输入;
设regexstring=markers[0]+'.*$';
设regexp1=newregexp(regexstring,'gm');
返回inputcopy.replace(regexp1,'a');
}
log(解决方案(“苹果、李子和香蕉”\n果穗\n果酱”[“%”、“!”]);
//苹果、李子、果仁、果仁!applesauce
你能描述一下正则表达式应该做什么吗?旁注(这不是问题):函数声明(如上面的解决方案)没有代码>在它之后。包含它是无害的,因为JavaScript忽略了额外的
,但它并不在那里。你有两个额外的反斜杠-你只需要\\\n
,而不是\\\\n
(解决这个问题,它就会起作用)你总是使用第一个标记作为测试主题-你应该迭代标记的数组,然后你可以检查你的正则表达式。