查看完整版本: 求一级汉字拼音首字母

xavier 2008-5-10 09:45

求一级汉字拼音首字母

查GB2312内码表得到每个首字母开头的第一个字。然后利用range就能求出任何一个一级汉字的首字母了。
但是对于二级汉字就不管用了[code]def initial(chr)
  arr = %w(啊 芭 擦 搭 蛾 发 噶 哈 击 喀 垃 妈 拿 哦 啪 期 然 撒 塌 挖 昔 压 匝)
  alphabet = %w(a b c d e f g h j k l m n o p q r s t w x y z)
  22.times do |i|
    r = Range.new(arr[i],arr[i+1],true)
    return alphabet[i] if r.include?(chr)
  end
  raise ArgumentError,"不是一级汉字",caller
end[/code]测试:[code]puts initial("韩")  #=> h
puts initial("菁")  #=> ArgumentError: 不是一级汉字[/code]
页: [1]
查看完整版本: 求一级汉字拼音首字母