我正在向網頁發送一些bash輸出,但它包含過量的\ n,\ r和^ M個字符。例如,一行可能以\ r \ n結尾,然後下一行將包含^ M^M並且沒有文本。刪除這些額外字符的最佳方法是什麼,而每行之後仍有換行符?刪除過多的退貨和換行
目前有JS取代多個換行符和返回字符與一個單一的,但是這並不包括只有返回字符的行。另外,我不確定JS如何看到^ M和^ G這樣的字符。輸出通過Python子收集併發送一個Ajax功能作爲一個HttpResponse(使用Django作爲框架)
的JavaScript:
data = data.replace(/(?:\r\n|\r|\n|\r\n\r|\n\n|\r\r|\n\r)/g, '<br>');
原始文本
Connection to node1 closed.^M^M
Connection to fsgvc11 closed.^M^M
Rebooting node7^M
^G^M^M
Broadcast message from root (pts/0) (Sat Sep 19 16:10:09 2015):^M^M
^M^M
它的外觀在終端
Connection to node1 closed.
Connection to fsgvc11 closed.
Rebooting node7
Broadcast message from root (pts/0) (Sat Sep 19 16:10:09 2015):
它的外觀在瀏覽器:
Connection to node1 closed.
Connection to fsgvc11 closed.
Rebooting node7
Broadcast message from root (pts/0) (Sat Sep 19 16:10:09 2015):
你現在的JavaScript是什麼樣的? –
要替換它的位使用正則表達式: 'data = data.replace(/(?:\ r \ n | \ r | \ n | \ r \ n \ r | \ n \ n | \ r \ r | \ n \ r)/ g,'
');' – sirstancake
好的,我在問題中加了這個。 –