mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
056b7a8633
Treats: #force_encoding #b #valid_encoding? #ascii_only? #scrub #scrub! #unicode_normalized? Plus a couple of minor tweaks.
25 lines
684 B
Text
25 lines
684 B
Text
Returns a copy of +self+ with each invalid byte sequence replaced
|
||
by the given +replacement_string+.
|
||
|
||
With no block given and no argument, replaces each invalid sequence
|
||
with the default replacement string
|
||
(<tt>"<22>"</tt> for a Unicode encoding, <tt>'?'</tt> otherwise):
|
||
|
||
s = "foo\x81\x81bar"
|
||
s.scrub # => "foo<6F><6F>bar"
|
||
|
||
With no block given and argument +replacement_string+ given,
|
||
replaces each invalid sequence with that string:
|
||
|
||
"foo\x81\x81bar".scrub('xyzzy') # => "fooxyzzyxyzzybar"
|
||
|
||
With a block given, replaces each invalid sequence with the value
|
||
of the block:
|
||
|
||
"foo\x81\x81bar".scrub {|bytes| p bytes; 'XYZZY' }
|
||
# => "fooXYZZYXYZZYbar"
|
||
|
||
Output:
|
||
|
||
"\x81"
|
||
"\x81"
|