我正在尝试用 javascript 中的逗号替换换行符,但代码似乎不起作用。
var data = "Series
Manga
Games
Artbooks
Visual Novels"
var output = data.replace(/(\r\n|\n|\r)/gm,",");
alert(output);
在这里你可以看到一个在线版本http://jsfiddle.net/CBvpS/ 有人知道如何修复它吗?
我正在尝试用 javascript 中的逗号替换换行符,但代码似乎不起作用。
var data = "Series
Manga
Games
Artbooks
Visual Novels"
var output = data.replace(/(\r\n|\n|\r)/gm,",");
alert(output);
在这里你可以看到一个在线版本http://jsfiddle.net/CBvpS/ 有人知道如何修复它吗?
当您的输入字符串在语法上正确时效果很好:
var data = "Series\nManga\nGames\nArtbooks\nVisual Novels"
var output = data.replace(/\r?\n/gm,",");
alert(output);
Javascript 没有像 php 那样的多行变量,除非您手动 escape( \
) 行尾。此外,这不算作换行,因此您也必须插入\n
s 来修复它。否则,您的代码可以正常工作,尽管有一些小的修改。
var data = "Series\n \
Manga\n \
Games\n \
Artbooks\n \
Visual Novels";
var output = data.replace(/(\r\n|\n|\r)/gm,",");
alert(output);
但是请注意,如果您的数据来自示例,输入文本区域,您当然不必担心转义行尾,它会按应有的方式处理数据。
JavaScript 不允许您继续使用新行的字符串,除非您在行尾添加反斜杠。例如:
var string = "a \
string is \
here";
话虽如此,如果您从其他来源检索了一些文本并想要替换新行,那么您应该只需要这样的东西:
string = string.replace(/\n/g, ',');