2011-06-27 58 views
3

我有代碼等使用串[範圍] = new_val而在紅寶石尊重UTF8 1.8.7

text[from..to] = text_insertion 

的問題是,fromto給出計數UTF8編碼的字符作爲一個字符而上述計數的代碼逐字節用Ruby 1.8.7

我不得不使用Ruby 1.8.7

我可以使用哪種寶石使我的工作?我也可以重寫它使用String#substr或類似的東西,但我還沒有找到任何lib給我的方法,尊重UTF8編碼。

回答

2

您可以使用ActiveSupport的String#mb_chars方法。它讓你寫這樣的事情:

text.mb_chars[from..to] = text_insertion 

它是自2.2以來的所有版本的ActiveSupport中可用。