我有这样的代码
text[from..to] = text_insertion
问题是 from
和 to
将 UTF8 编码字符计为一个字符,而上面的代码在 Ruby 1.8.7 中按字节计数
我必须使用 Ruby 1.8.7
我可以使用哪个 gem 来使我的代码正常工作?我也可以重写它以使用 String#substr
或类似的东西,但我还没有找到任何库可以为我提供符合 UTF8 编码的方法。
最佳答案
您可以使用 ActiveSupport 的 String#mb_chars
方法。它让你写这样的东西:
text.mb_chars[from..to] = text_insertion
它在 2.2 之后的所有版本的 ActiveSupport 中都可用。
关于ruby - 在 Ruby 1.8.7 中使用 string[range]=new_val 同时尊重 UTF8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6491671/