如何更换换行符?

时间:2013-01-12 00:53:26

标签: javascript

我正在尝试用javascript中的逗号替换换行符,但代码似乎不起作用。

var data = "Series
Manga
Games
Artbooks
Visual Novels"
var output = data.replace(/(\r\n|\n|\r)/gm,",");
alert(output);

在这里您可以看到在线版http://jsfiddle.net/CBvpS/ 任何人都知道如何解决它?

3 个答案:

答案 0 :(得分:3)

当输入字符串在语法上正确时效果很好:

var data = "Series\nManga\nGames\nArtbooks\nVisual Novels"
var output = data.replace(/\r?\n/gm,",");
alert(output);

http://jsfiddle.net/7V8rg/1/

答案 1 :(得分:2)

Javascript没有像php那样的多行变量,除非你手动转义(\)行尾。此外,这不算作换行符,因此您必须插入\n来修复它。否则,your code works fine,虽然稍作修改。

var data = "Series\n \
Manga\n \
Games\n \
Artbooks\n \
Visual Novels";
var output = data.replace(/(\r\n|\n|\r)/gm,",");
alert(output);

但请注意,如果您的数据来自示例,输入文本区域,您当然不需要担心转义行的末尾,它将按原样处理数据。

答案 2 :(得分:2)

除非在行尾添加反斜杠,否则JavaScript不允许您继续使用换行的字符串。例如:

var string = "a \
string is \
here";

话虽如此,如果您从不同的来源检索了一些文本并想要替换新的行,那么这就是您需要的所有内容:

string = string.replace(/\n/g, ',');