去掉字符串首尾的空白

最后更新于:2022-04-01 10:49:26

## 问题 你想去掉字符串首尾的空白 ## 方法 使用JavaScript的正则表达式来替换空白。 使用下面的方式去掉首尾的空白字符: ~~~ " padded string ".replace /^\s+|\s+$/g, "" # => 'padded string' ~~~ 如下方式,仅仅去掉首部的空白符: ~~~ " padded string ".replace /^\s+/g, "" # => 'padded string ' ~~~ 去掉末尾的空白字符: ~~~ " padded string ".replace /\s+$/g, "" # => ' padded string' ~~~ ## 详解 Opera,Firefox和Chrome都有一个原生的字符串原型方法`trim`,而且也可以为其他浏览器其添加同样的方法。对于这类方法,如果存在的话我就使用内置的,否则就自己补充一个: ~~~ unless String::trim then String::trim = -> @replace /^\s+|\s+$/g, "" " padded string ".trim() # => 'padded string' ~~~ ### 语法糖 你可以使用下面这种快捷方法添加一些类似于Ruby的语法糖: ~~~ String::strip = -> if String::trim? then @trim() else @replace /^\s+|\s+$/g, "" String::lstrip = -> @replace /^\s+/g, "" String::rstrip = -> @replace /\s+$/g, "" " padded string ".strip() # => 'padded string' " padded string ".lstrip() # => 'padded string ' " padded string ".rstrip() # => ' padded string' ~~~ 关于`trim`性能的讨论和数据,参看Steve Levithan的[这篇博客](http://blog.stevenlevithan.com/archives/faster-trim-javascript)。
';