0

JavaScriptで改行をコンマに置き換えようとしていますが、コードが機能していないようです。

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

ここでオンラインバージョンを見ることができますhttp://jsfiddle.net/CBvpS/ 誰もがそれを修正する方法を知っていますか?

4

3 に答える 3

4

入力文字列が構文的に正しい場合にうまく機能します。

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

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

于 2013-01-12T00:57:33.563 に答える
2

\行の終わりを手動でescape()しない限り、Javascriptにはphpのような複数行の変数はありません。さらに、これは改行としてカウントされないため、これ\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);

ただし、データが入力テキスト領域などの例からのものである場合は、もちろん、行の終わりをエスケープすることを心配する必要はなく、データは適切に処理されます。

于 2013-01-12T00:57:03.330 に答える
2

JavaScriptでは、行の最後に円記号を追加しない限り、新しい行で文字列を続けることはできません。例えば:

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

そうは言っても、別のソースからテキストを取得して新しい行を置き換えたい場合は、次のようなものが必要です。

string = string.replace(/\n/g, ',');
于 2013-01-12T00:57:09.553 に答える