split(*args) public Works just like String#split, with the exception that the items in the resulting list are Chars instances instead of String. This makes chaining methods easier.
'Café périferôl'.mb_chars.split(/é/).map { |part| part.upcase.to_s } Show source def split(*args) @wrapped_string.split(*args).map { |i| self.class.new(i) } end