Skip to content

wxianfeng/hanzi_to_pinyin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

English User See: README.EN.md

hanzi_to_pinyin

  • 获取汉字首字母
  • 获取汉字完整拼音
  • 把汉字转化为安全的 url

安装

ruby version <= 2.1.0

$ gem 'hanzi_to_pinyin', '1.0.0', require: 'hanzi_to_pinyin'

ruby version >=2.2.0

$ gem 'hanzi_to_pinyin', require: 'hanzi_to_pinyin'

使用

  # 获取首字母
  $ HanziToPinyin.hanzi_to_pinyin("中华人民共和国") #=> "zhrmghg"
  $ HanziToPinyin.hanzi_2_pinyin("中华人民共和国") #=> "zhrmghg"
  $ HanziToPinyin.hanzi_to_pinyin("喜欢Ruby") #=> "xhruby"
  $ HanziToPinyin.hanzi_2_pinyin("喜欢Ruby") #=> "xhruby"

  # 判断是否是汉字
  $ HanziToPinyin.is_hanzi?("你") #=> true
  $ HanziToPinyin.is_hanzi?("a") #=> false

  # 获取完整拼音
  # 多音字,分隔 字字之间;分隔,字母数字保留不变
  $ HanziToPinyin.hanzi_2_py("我们") #=> "wo;men"
  $ HanziToPinyin.hanzi_2_py("yyf") #=> "yyf"
  $ HanziToPinyin.hanzi_2_py("查理Smith") #=> "cha,zha;li;Smith"
  $ HanziToPinyin.hanzi_2_py("测试1") #=> "ce;shi;1"
  $ HanziToPinyin.hanzi_2_py("测_试") #=> "ce;_;shi"
  $ HanziToPinyin.hanzi_2_py("测-试") #=> "ce;-;shi"
  $ HanziToPinyin.hanzi_2_py(2) #=> "2"

  # 判断是否是数字
  $ HanziToPinyin.is_number?("1".ord) #=> true
  $ HanziToPinyin.is_number?("a".ord) #=> false

  # 判断是否是下划线
  $ HanziToPinyin.is_underline?("_".ord) #=> true
  $ HanziToPinyin.is_underline?("豆豆") #=> false
  
  # 判断是否是连接符
  $ HanziToPinyin.is_dash?("-".ord) #=> true

  # 汉字转化为安全的 url
  $ HanziToPinyin.hanzi_to_url("双11活动") #=> "shuang-1-1-huo-dong"
  $ HanziToPinyin.hanzi_to_url("双12活动&name=xxx") #=> "shuang-1-2-huo-dong-%26-n-a-m-e-%3D-x-x-x"

测试

$ rake spec

或者跑某个测试用例

$ rspec spec/hanzi_to_pinyin/hanzi_to_pinyin_spec.rb -l 21

ChangeLog

1.0.0

  • ruby 版本 < 2.1.0 使用

2.0.0

  • 升级 Rake 版本解决 Rake 安全漏洞问题
  CVE-2020-8130
  moderate severity
  Vulnerable versions: <= 12.3.2
  Patched version: 12.3.3
  There is an OS command injection vulnerability in Ruby Rake before 12.3.3 in Rake::FileList when supplying a filename that begins with the pipe character |.
  • 支持 Ruby >= 2.2.0

2.0.1

  • 修复"嗯"转化报错

版权

Copyright (c) 2011 wxianfeng. See LICENSE.txt for further details.