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

instance method String#scrub!

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

self が不正なバイト列を含む場合に別の文字列に置き換えます。常に 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