[英]Trim trailing spaces before newlines in a single multi-line string in JavaScript
假設我有這個單字符串,這里我用^表示空格(“”)
^^quick^^^\n
^brown^^^\n
^^fox^^^^^\n
使用.replace()刪除尾隨空格的正則表達式是什么? 使用replace(/\\s+$/g, "")
並不是很有幫助,因為只使用“fox”刪除最后一行的空格。
通過其他問題,我發現replace(/\\s+(?:$|\\n)/g,"")
匹配正確的部分,但也刪除了新的行字符,但我確實需要它們。
所以完美的結果將是:
^^quick\n
^brown\n
^^fox\n
(只刪除其他所有內容的尾隨空格)
添加'm'
多行修改器。
replace(/\s+$/gm, "")
還是更快......
replace(/\s\s*$/gm, "")
為什么這會更快? 請參閱: 更快的JavaScript修剪
附錄:上述表達式具有壓縮相鄰換行符的潛在不良影響。 如果這不是所需的行為,則首選以下模式:
replace(/[^\S\r\n]+$/gm, "")
編輯2013-11-17: - 添加了不壓縮連續換行符的替代模式。 (感謝dalgard指出這個缺陷。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.