除去最后一行以外的所有尾部空白
Strip all trailing whitespace except last new line
假设我有一个字符串:
var str = 'I am a 'nmultiline 'nString.'n'
如何用''
替换除最后一个'n
之外的所有尾随空白字符?
我试过:
str.replace(/'s+$/gm, '')
但这会返回
"I am a'nmultiline'nString."
我想要一些类似的东西
"I am a'nmultiline'nString.'n"
's
也匹配换行符。所以我建议你使用下面的。
str.replace(/[ 't]+$/gm, "")
或
str.replace(/(?:(?!['r'n])'s)+$/gm, "")
当正则表达式使用锚点时,必须使用m
多行修饰符。上面的正则表达式匹配最后一个或多个空格字符中的任何一种,但不匹配换行符或回车符。
示例:
> var str = 'I am a 'nmultiline 'nString.'n';
undefined
> str.replace(/[ 't]+$/gm, "")
'I am a'nmultiline'nString.'n'
我最终使用了@AvinashRaj答案的变体,因为我想删除所有空白(同样,除了'n
),而不仅仅是't
和:
str.replace(/[ 'f'r't'v'u00a0'u1680'u180e'u2000'u2001'u2002'u2003'u2004'u2005'u2006'u2007'u2008'u2009'u200a'u2028'u2029'u202f'u205f'u3000]+$/gm, '')
(来自MDN)
相关文章:
- 如何删除多行HTML排列中的空白
- 在Twitter上用ie9中的空白src访问iframe的contentWindow
- 不同浏览器中的空白字符正则表达式行为
- Javascript中的空白是什么
- Facebook共享显示一个接一个的空白页面
- 如果我在javascript中输入无效的电子邮件或空白,如何显示特定的文本框边框红色
- 从字符串末尾删除空白无效
- AngularJS ng选项在选择一个选项后删除了默认的空白值
- 当读取文件时,浏览器打开良好,但它是空白浏览器
- JavaScript尾部调用中的函数是否经过优化
- 带有显示XML数据的HTML的空白页
- 如何排除此正则表达式中的空白匹配项
- 删除LINES开头和结尾的空白
- 尝试使用ng重复时出现空白屏幕
- ajax给出空白响应
- IE 9压缩XML DOM中的空白空间
- 谷歌图表显示空白白色页面
- 如何在emacs中的js2模式中修剪尾部空白
- 匹配所有字符减去尾部空白,然后匹配大括号之间的字符
- 除去最后一行以外的所有尾部空白