2012-05-04 10 views
1

これは、すべてのスペースを削除します。ruby​​、最後にgsubでスペースを削除するにはどうしたらいいですか?

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、およびその他のレールヘルパーは使用できません。

+1

-1構文エラーを修正しましたか? –

+0

はいAndrew私は多くのバリエーションを試して、最終的には構文エラーが含まれていても、少なくとも私が持っていたコードで質問を投稿することにしました。皆さんはよく「何かを試しましたか?私はそれを実証したかったのです。 :) – junky

答えて

14

使用文字列の末尾に空白のみにマッチする正規表現は:

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

rstrip and rstrip!あり:

もRailsの事ではありません String#rstrip、あります
'foo bar '.rstrip # => "foo bar" 
+0

+1、それは私がやることです。 %s/\ s \ + $ // g、これも%s:リファクタリングする必要がある他の古いコードを開けたときに、私がvimで行う最初の作業の1つで、この正規表現には精通しています。/\ t// g。 – kikuchiyo

+0

+1&承認します。 'rstrip'と' rstrip! 'のためにはいとはい。ありがとう! – junky

+0

注意:ストリップなどWHITESPACE、したがってTABを殺す! – chksr

5

自己改訂版rstrip!、および先行スペースの場合はlstrip!)、両方の場合はstrip!)です。

+0

Thxですが、この質問の末尾にのみあります。 – junky

関連する問題