更换一些“\ n”不工作

问题描述:

我有这样的文字:更换一些“ n”不工作

谢尔顿的母亲玛丽是访问。但喜悦并没有持续多久:获取,而不是由他的母亲,一个烤鸡准备,她更喜欢的提案伦纳德去吃寿司。谢尔顿还制定出了节目的娱乐玛丽。但他必须接受震惊地注意到,他的母亲拒绝参加由诺贝尔奖获得者的演讲,而是喜欢做与其他城市巡演。\ n \ nLeonard和谢尔顿是辉煌的物理学家,最依赖于他们的公寓,并保持自己的视频游戏。只有她的邻居竹篙只是偶尔管理提供多种。

现在我想用一个\n\n<br />更换。所以,当我执行下面的线,它不会做任何事情。

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

但是,它会在控制台的工作。

+1

你的明文没有换行.. – Halcyon

+0

@FritsvanCampen它_does_有'\ n \ n“ – Neal

+0

它has' \ n \ n'的xD –

既然你似乎想在这样一个文本,以取代\n\nfoo\n\nbar - 这对我的方式听起来很奇怪 - 你可以用这个正则表达式做:

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

做得好:)谢谢,是啊我知道这听起来很奇怪,但我从一个JSON文件得到这个,我必须取代它。但好的工作:) –

试试这个方法:

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

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

+0

不,不工作.. –

+0

@MichaelUnterthurner看一看这个的jsfiddle:http://jsfiddle.net/bmMQN/ – Cherniv

+1

@Cherniv做节目没有它不工作,你的纯文本有'\ N' not' \\ N”。 – Halcyon

下面的线将与<br />天替换换行符。

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

不幸的是,不工作(在我的情况..) –

你的代码是失踪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 
+0

做得好:)谢谢:D –