假设我有一个字符串,这里我用 ^ 表示空格 ("")
^^quick^^^\n
^brown^^^\n
^^fox^^^^^\n
使用什么正则表达式来删除 .replace() 的尾随空格?
使用 replace(/\s+$/g, "")
并不是很有帮助,因为它只会删除空格
在“狐狸”的最后一行。
通过其他问题,我发现 replace(/\s+(?:$|\n)/g,"")
匹配正确的部分
但也摆脱了换行符,但我确实需要它们。
所以完美的结果将是:
^^quick\n
^brown\n
^^fox\n
(仅删除尾随空格,其他一切保留)
最佳答案
添加 'm'
多行修饰符。
replace(/\s+$/gm, "")
或者更快...
replace(/\s\s*$/gm, "")
为什么这样更快?请参阅:Faster JavaScript Trim
附录: 上面的表达式具有压缩相邻换行符的潜在有害效果。如果这不是所需的行为,则首选以下模式:
replace(/[^\S\r\n]+$/gm, "")
2013 年 11 月 17 日编辑: - 添加了不压缩连续换行符的替代模式。 (感谢 dalgard 指出了这个不足。)
关于javascript - 在 JavaScript 中的单个多行字符串中的换行符之前 trim 尾随空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5568797/