1

我有这样的文字:

Sheldons Mutter Mary ist zu Besuch。Doch die Freude währt nicht lange:Statt von seiner Mutter ein Brathähnchen zubereitet zu bekommen,geht sie lieber auf Leonards Vorschlag ein,Sushi essen zu gehen。Sheldon hat zudem ein Unterhaltungsprogramm für Mary ausgearbeitet。Er muss aber schockiert zur Kenntnis nehmen, dass seine Mutter den Besuch eines Vortrags mit einem Nobelpreisträgerablehnt und stattdessen lieber mit den anderen eine Stadtrundfahrt macht.\n\nLeonard 和 Sheldon sind brillante Physiker, die meist in ihrem Apartment abhängen und ihre Videogames。Nur ihre Nachbarin Penny schafft es hin und wieder, für Abwechslung zu sorgen。

现在我想\n\n<br />. 所以当我执行下面的行时,它什么都不做。

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

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

4

4 回答 4

3

由于您似乎想替换\n\n如下文本:foo\n\nbar-顺便说一句,这对我来说听起来很奇怪-您可以使用此正则表达式:

var plain = "foo\\n\\nbar";
console.log(plain.replace(/\\n\\n/gm, "<br />"));
于 2013-08-02T13:12:36.357 回答
2

试试这个方法:

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

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

于 2013-08-02T13:10:07.310 回答
1

您的代码丢失 1n

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

应该

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

就像现在一样,它匹配 "\r|\n" 或 "\r"

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

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

/(\\r\\n|\\n|\\r)/gm
于 2013-08-02T13:17:54.117 回答
0

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

replace(/\r?\n/g, '<br />');
于 2013-08-02T13:10:39.793 回答