Как я могу обнаружить определенные символы Unicode в строке в Ruby?

Учитывая строку в Ruby 1.8.7 (без замечательного механизма регулярных выражений Oniguruma, который поддерживает свойства Unicode с \ p {}), Я хотел бы иметь возможность определить, содержит ли строка один или несколько китайских, японских или корейских символов; то есть

class String
  def contains_cjk?
    ...
  end
end

>> '日本語'.contains_cjk?
=> true
>> '광고 프로그램'.contains_cjk?
=> true
>> '艾弗森将退出篮坛'.contains_cjk?
=> true
>> 'Watashi ha bakana gaijin desu.'.contains_cjk?
=> false

Я подозреваю, что это будет сводиться к проверке наличия каких-либо символов в строке в Unihan CJKV Unicode-блоках , но я решил, что стоит спросить, знает ли кто-нибудь о существующем решении в Рубин.

16
задан Sergio Tulentsev 4 August 2017 в 09:37
поделиться