我正在尝试用javascript中的逗号替换换行符,但代码似乎不起作用。
var data = "Series
Manga
Games
Artbooks
Visual Novels"
var output = data.replace(/(\r\n|\n|\r)/gm,",");
alert(output);
在这里您可以看到在线版http://jsfiddle.net/CBvpS/ 任何人都知道如何解决它?
答案 0 :(得分:3)
当输入字符串在语法上正确时效果很好:
var data = "Series\nManga\nGames\nArtbooks\nVisual Novels"
var output = data.replace(/\r?\n/gm,",");
alert(output);
答案 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, ',');