簡體   English   中英

如何更換換行符?

[英]How do I replace line breaks?

我正在嘗試用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);

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

Javascript不像php一樣具有多行變量,除非您手動對行尾進行轉義( \\ )。 此外,這不算作換行符,因此您還必須插入\\n來解決該問題。 否則, 您的代碼可以正常運行 ,盡管進行了一些小的修改。

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, ',');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM