$str = "This is a string containing 中文 characters. Some more characters - 中华人民共和国 ";
如何检测此字符串中是否有中文字符,但我不知道该怎么做。有什么线索吗?
答案 0 :(得分:1)
正则表达式不是这里的方法。您应该使用类似于以下的代码(免责声明:我不是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
}
您正在检查字符是否在Unicode中的常见中文字符范围内。这不是 hanzi (中文字符)的完整范围。如果您需要检测罕见或历史字符,则只需将here列出的范围添加到布尔检查中。