假设我有这个单字符串,这里我用^表示空格("")
^^quick^^^\n
^brown^^^\n
^^fox^^^^^\n
Run Code Online (Sandbox Code Playgroud)
使用.replace()删除尾随空格的正则表达式是什么?使用replace(/\s+$/g, "")不是很有用,因为它只用"fox"删除最后一行的空格.
通过其他问题,我发现replace(/\s+(?:$|\n)/g,"")匹配正确的部分,但也摆脱了新的行字符,但我确实需要它们.
所以完美的结果将是:
^^quick\n
^brown\n
^^fox\n
Run Code Online (Sandbox Code Playgroud)
(只删除其他所有内容的尾随空格)
rid*_*ner 15
添加'm'多行修改器.
replace(/\s+$/gm, "")
Run Code Online (Sandbox Code Playgroud)
还是更快......
replace(/\s\s*$/gm, "")
Run Code Online (Sandbox Code Playgroud)
为什么这会更快?请参阅:更快的JavaScript修剪
附录:上述表达式具有压缩相邻换行符的潜在不良影响.如果这不是所需的行为,则首选以下模式:
replace(/[^\S\r\n]+$/gm, "")
Run Code Online (Sandbox Code Playgroud)
编辑2013-11-17: - 添加了不压缩连续换行符的替代模式.(感谢dalgard指出这个缺陷.)
| 归档时间: |
|
| 查看次数: |
6888 次 |
| 最近记录: |