Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Stringクラス > squeeze
squeeze(*chars) -> String
[permalink][rdoc]chars に含まれる文字が複数並んでいたら 1 文字にまとめます。
chars の形式は tr(1) と同じです。つまり、 `a-c' は a から c を意味し、"^0-9" のように 文字列の先頭が `^' の場合は指定文字以外を意味します。
`-' は文字列の両端にない場合にだけ範囲指定の意味になります。 同様に、`^' もその効果は文字列の先頭にあるときだけです。また、 `-', `^', `\' はバックスラッシュ(`\')によ りエスケープすることができます。
引数を 1 つも指定しない場合は、すべての連続した文字を 1 文字にまとめます。
引数を複数指定した場合は、すべての引数にマッチする文字を 1 文字にまとめます。
例:
p "112233445566778899".squeeze # =>"123456789" p "112233445566778899".squeeze("2-8") # =>"11234567899" # 以下の 2 つは同じ意味 p "112233445566778899".squeeze("2378") # =>"11234455667899" p "112233445566778899".squeeze("2-8", "^4-6") # =>"11234455667899"
squeeze(str = nil) -> String
[permalink][rdoc] [redefined by jcode]
String#squeeze の日本語対応版です。 指定した文字を1文字にまとめた文字列を返します。
ただしこのメソッドは置き換え前の物とは異なり、 2つ以上の引数を取ることはできません。
例:
#!/usr/bin/env ruby $KCODE = 'EUC' zstr = 'AABBCC' hoge = 'hhoge' p zstr.squeeze # => "AABBCC" p hoge.squeeze # => "hoge" require 'jcode' p zstr.squeeze # => "ABC" p hoge.squeeze # => "hoge"