正则表达式,用于将多个空格替换为单个空格
2022-08-29 22:32:54
给定一个字符串,如下所示:
"The dog has a long tail, and it is RED!"
什么样的jQuery或JavaScript魔术可以用来将空间保持在一个空间最大?
目标:
"The dog has a long tail, and it is RED!"
给定一个字符串,如下所示:
"The dog has a long tail, and it is RED!"
什么样的jQuery或JavaScript魔术可以用来将空间保持在一个空间最大?
目标:
"The dog has a long tail, and it is RED!"
鉴于您还想覆盖选项卡,换行符等,只需替换为:\s\s+
' '
string = string.replace(/\s\s+/g, ' ');
如果您真的只想覆盖空格(因此不想覆盖制表符,换行符等),请执行以下操作:
string = string.replace(/ +/g, ' ');
由于您似乎对性能感兴趣,因此我用firebug分析了这些内容。以下是我得到的结果:
str.replace( / +/g, ' ' ) -> 380ms
str.replace( /\s\s+/g, ' ' ) -> 390ms
str.replace( / {2,}/g, ' ' ) -> 470ms
str.replace( / +/g, ' ' ) -> 790ms
str.replace( / +(?= )/g, ' ') -> 3250ms
这是在Firefox上,运行100k字符串替换。
如果您认为性能是一个问题,我鼓励您使用firebug进行自己的分析测试。众所周知,人类在预测程序中的瓶颈所在方面表现不佳。
(另外,请注意,IE 8的开发人员工具栏还内置了一个探查器 - 可能值得检查IE中的性能。