我刚刚升级到jruby 1.6.1,当我在1.9模式下运行时,以下函数在遇到某些字符时失败。该功能的工作是去除不需要的字符以及前导和尾随字符。我将以下函数添加到字符串类:
class String
def strip_noise()
return if empty?
self.force_encoding('utf-8').mb_chars.normalize(:kd).gsub(/[^\x00-\x7F]/n,'').to_s().strip()
end
end
我有以下测试导致错误发生:
def test_odd_characters()
assert_equal("", " \xC2\xA0".strip_noise())
end
我得到一个Java :: JavaLang :: NegativeArraySizeException:当我运行测试时。
这是jruby的错误还是任何人都可以帮助我找到更好的解决方案?