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

时间:2013-08-02 13:09:00

标签: javascript replace

我有这样的文字:

  Sheldons Mutter Mary ist zu Besuch。 Doch die Freudewährtnichtlange:Statt von seiner MuttereinBrathähnchenzubereitetzu bekommen,geht sie lieber auf Leonards Vorschlag ein,Sushi essen zu gehen。 Sheldon hat zudem einUnterhaltungsprogrammfürMaryausgearbeitet。 Er muss aber schockiert zur Kenntnis nehmen,dass seine Mutter den Besuch eines Vortrags miteinemNobelpreisträger能与他们的合作伙伴stadtrundfahrt macht。\ n \ n Leonard und Sheldon sind brillante Physiker,die meist in ihremApartmentabhängenundihre Videogames pflegen。 Nur ihre Nachbarin Penny schafft es hin und wieder,fürAbwechslungzu sorgen。

现在我想用\n\n替换<br />。因此,当我执行下面的行时,它不会执行任何操作。

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

但是,它确实可以在控制台中使用。

4 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

尝试这种方式:

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

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

答案 2 :(得分:1)

您的代码遗失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

答案 3 :(得分:0)

以下行将使用<br />标记替换换行符。

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