簡體   English   中英

正則表達式刪除Javascript中的空格,空行和最后一行換行符

[英]Regex to remove white spaces, blank lines and final line break in Javascript

好的,我正在用正則表達式來度過難關..

這就是我需要的...獲取文本文件,刪除所有空白行和這些行的開頭和結尾處的空格,要刪除的空白行還包括文件末尾的空行(a \\ n在全文的最后)

所以我的腳本是:

quotes.replace(/^\s*[\r\n]/gm, "");

這取代相當不錯,但在每行的末尾留下一個空格,並且不會刪除最后的換行符。

所以我想用這樣的東西:

quotes.replace(/^\s*[\r\n]/gm, "").replace(/^\n$/, "");

第二個“替換”將從整個字符串中刪除最后的\\ n如果存在..但它不起作用..

所以我嘗試了這個:

quotes.replace(/^\s*|\s*$|\n\n+/gm, "")

這會刪除換行符,但在中間有換行符時連接一些換行符:

以便
1
2
3

4

將返回以下行:

[“1”,“2”,“34”]

你能幫助我嗎?

既然聽起來你必須在一個正則表達式中完成所有這一切,試試這個:

quotes.replace(/^(?=\n)$|^\s*|\s*$|\n\n+/gm,"")

我們正在做的是創建一個不會捕獲任何內容的組,但是防止換行本身被消耗掉。

拆分,更換,過濾:

quotes.split('\n')
    .map(function(s) { return s.replace(/^\s*|\s*$/g, ""); })
    .filter(function(x) { return x; });

輸入值為" hello \\n\\nfoo \\n bar\\nworld \\n" ,輸出為["hello", "foo", "bar", "world"]

暫無
暫無

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

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