ruby,如何用gsub删除末尾的空格?

时间:2012-05-04 02:17:17

标签: ruby regex string

删除所有空格:

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

n.b。我不能使用truncate,trim和其他rails帮助器。

2 个答案:

答案 0 :(得分:14)

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

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

还有rstrip and rstrip!

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

答案 1 :(得分:6)

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

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

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