обнаруживать символы cjk в предложении, используя ruby! - PullRequest
1 голос
/ 21 октября 2010
$str = "This is a string containing 中文 characters. Some more characters - 中华人民共和国 ";

Как определить, есть ли в этой строке китайские иероглифы, но я понятия не имею, как это сделать. Любые подсказки?

1 Ответ

1 голос
/ 21 октября 2010

Регулярные выражения здесь не подходят. Вы должны иметь код, подобный следующему (отказ от ответственности: я не программист на Ruby):

# coding: utf-8
str = "This is a string containing 中文 characters. Some more characters - 中华人民共和国 ";

str.each_char { |c|
  if c.ord >= 0x4E00 && c.ord <= 0x9FFF
    # found a chinese character - process it somehow.
    puts c
  end   
}

Вы по существу проверяете, находится ли символ в диапазоне общих китайских символов в Юникоде. Это не полный диапазон hanzi (китайские иероглифы). Если вам необходимо обнаружить редкие или исторические символы, вам просто нужно добавить перечисленные диапазоны здесь к логической проверке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...