Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Stringクラス > scrub

instance method String#scrub

scrub -> String[permalink][rdoc]
scrub(repl) -> String
scrub {|bytes| ... } -> String

self が不正なバイト列を含む場合に別の文字列に置き換えた新しい文字列を返します。

[PARAM] repl:
不正なバイト列を置き換える文字列を指定します。省略した場合 は self の文字エンコーディングが Encoding::UTF_16BE, Encoding::UTF_16LE, Encoding::UTF_32BE, Encoding::UTF_32LE, Encoding::UTF_8 のいずれか の場合は "\uFFFD" を表す文字で、それ以外の場合は "?" で置き 換えられます。ブロックが指定された場合は不正なバイト列はブ ロックの戻り値で置き換えられます。


"abc\u3042\x81".scrub      # => "abc\u3042\uFFFD"
"abc\u3042\x81".scrub("*") # => "abc\u3042*"
"abc\u3042\xE3\x80".scrub{|bytes| '<'+bytes.unpack('H*')[0]+'>' } # => "abc\u3042<e380>"

[SEE_ALSO] String#scrub!