1

这将删除所有空格:

irb(main):021:0> 'gff gf ggfgfg '.gsub(' ','')
=> "gffgfggfgfg"

但我只想删除最后的空间,

就像是

irb(main):023:0>  'gff gf ggfgfg '.gsub([*' '$],'')

但我得到:

SyntaxError: compile error
(irb):25: syntax error, unexpected $undefined, expecting ']'
'gff gf ggfgfg '.gsub([*' '$],'')
                            ^
    from (irb):25
    from :0
                           ^
    (irb):23: syntax error, unexpected ',', expecting $end
    'gff gf ggfgfg '.gsub(^' ','')
                               ^
        from (irb):23
        from :0

nb 我不能使用 truncate、trim 和其他 rails 助手。

4

2 回答 2

16

使用仅匹配字符串末尾空格的正则表达式:

'foo bar '.gsub(/\s+$/,'') # => "foo bar"

还有rstriprstrip!

'foo bar '.rstrip # => "foo bar"
于 2012-05-04T02:19:10.243 回答
6

还有String#rstrip,这不是 Rails 的事情:

'  foo bar   '.rstrip # => "  foo bar"

有一个自修改版本rstrip!,以及用于前导空格的lstrip( ) 和用于两者的( )。!strip!

于 2012-05-04T02:26:58.370 回答