3

I have code like

text[from..to] = text_insertion

The problem is that from and to are given counting UTF8 encoded characters as one char while the code above counts byte-wise in Ruby 1.8.7

I have to use Ruby 1.8.7

Which gem could I use to make my code work? I also can rewrite it to use String#substr or something similar, but I haven't found any lib that gives me methods that respect UTF8 encoding.

Richard Metzler
  • 545
  • 7
  • 17

1 Answers1

2

You can use ActiveSupport's String#mb_chars method. It let's you write something like this:

text.mb_chars[from..to] = text_insertion

It is available in all versions of ActiveSupport since 2.2.

Gregor Schmidt
  • 639
  • 4
  • 11