繁体   English   中英

替换一些“ \\ n”不起作用

[英]Replacing some “\n” doesn't works

我有这样的文字:

谢尔登·穆特(Sheldons Mutter) 弗洛伊德·沃尔(Freudewährt)的观点:斯塔特·冯·塞纳(Statt von seiner)穆特·伊恩(Matt einBrathähnchen) 谢尔登·哈德(Sheldon)在玛丽(Ausgearbeitet)的大学课程。 \\ n \\ n莱昂纳德·里昂纳德·里昂纳德·里昂纳德·里昂纳德·里昂纳德·里昂内恩 Nur ihre Nachbarin Penny schafft es hin和wieder,来自Abwechslung zu sorgen。

现在,我想用<br />替换\\n\\n 因此,当我执行以下代码行时,它什么也没做。

replace(/(\r\|\n|\r)/gm, "<br />");

但是,它确实可以在控制台中工作。

由于您似乎想在\\n\\n foo\\n\\nbar这样的文本中替换\\n\\n对我来说这听起来很奇怪-您可以使用此正则表达式:

var plain = "foo\\n\\nbar";
console.log(plain.replace(/\\n\\n/gm, "<br />"));

尝试这种方式:

var r = new RegExp("\n\n" , "g");
str = str.replace(r, "<br />");

JSFiddle: http : //jsfiddle.net/bmMQN/4/

您的代码缺失1 n

replace(/(\r\|\n|\r)/gm, "<br />");

应该

replace(/(\r\n|\n|\r)/gm, "<br />");

现在,它匹配“ \\ r | \\ n”或“ \\ r”

但是,从注释来看,确实您的文本似乎没有换行符,而是反斜杠字符和字母n( \\n )。

因此,适合他们的正则表达式是

/(\\r\\n|\\n|\\r)/gm

下面的行将用<br />标记替换换行符。

replace(/\r?\n/g, '<br />');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM