mirror of
https://github.com/ruby/ruby.git
synced 2026-01-26 20:19:19 +00:00
23 lines
817 B
Plaintext
23 lines
817 B
Plaintext
Returns a copy of +self+ with each invalid byte sequence replaced
|
||
by the given +replacement_string+.
|
||
|
||
With no block given, replaces each invalid sequence
|
||
with the given +default_replacement_string+
|
||
(by default, <tt>"<22>"</tt> for a Unicode encoding, <tt>'?'</tt> otherwise):
|
||
|
||
"foo\x81\x81bar"scrub # => "foo<6F><6F>bar"
|
||
"foo\x81\x81bar".force_encoding('US-ASCII').scrub # => "foo??bar"
|
||
"foo\x81\x81bar".scrub('xyzzy') # => "fooxyzzyxyzzybar"
|
||
|
||
With a block given, calls the block with each invalid sequence,
|
||
and replaces that sequence with the return value of the block:
|
||
|
||
"foo\x81\x81bar".scrub {|sequence| p sequence; 'XYZZY' } # => "fooXYZZYXYZZYbar"
|
||
|
||
Output :
|
||
|
||
"\x81"
|
||
"\x81"
|
||
|
||
Related: see {Converting to New String}[rdoc-ref:String@Converting+to+New+String].
|