`
mvj3
  • 浏览: 24870 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一个简单的姓名拼音匹配

    博客分类:
  • ruby
阅读更多
# 一个简单的姓名拼音匹配
#
# 姓名一般是由两三个汉字组成,选其顺序且连续的拼音缩略的组合就算匹配成功。
#
require 'chinese_pinyin'
@name = "成吉思汗"
pinyins = Pinyin.t(@name).split

# 把姓名生成对应的拼音数组
array = []
pinyins.each_with_index do |han, index|
  array[index] = []
  han.size.times {|num| array[index] << han[0..(num - 1)] }
end

as = []
array.size.times do |x|
  sub_array = []

  # 第一趟生成姓名拼音缩略的所有满足顺序且连续的组合
  array.each_with_index do |ele, i|
    ni = i + x
    sub_array << array[i..ni] if array[ni]
  end

  # 第二趟把每个组合各自归并
  sub_array.each do |arr|
    while arr.size > 1
      sub_as = []
      arr[0].each {|a1| arr[1].each {|a2| sub_as << ( a1 + a2 ) } }
      arr[0..1] = [sub_as]
    end
    as << arr
    puts arr.join(' ')
  end

end

as.flatten.join(',')

# Ruby标准库里的abbr.rb是排除两个英文单词的共同缩略,见http://ruby-doc.org/stdlib/libdoc/abbrev/rdoc/classes/Abbrev.html
分享到:
评论
2 楼 深圳小子 2011-02-08  
楼上的肯定是火影看多了,签定完毕
1 楼 ilrxx 2011-01-27  
迪达拉哥哥~~~

相关推荐

    匹配中文字符串的拼音首字母或英文字符串的首字母缩写,源码

    在中文字符集(如GB2312、GBK或UTF-8)中,每个汉字对应一个或多个人工预先设定的拼音。通过使用特定的库或算法,我们可以将中文字符串转换成对应的拼音形式。例如,“中国”会转换为“zhongguo”,然后进一步提取首...

    js实现拼音、首字母、汉字等模糊搜索.rar

    这里我们将深入探讨如何实现这些功能,并通过一个名为"拼音首字母匹配js库"的压缩包文件来理解相关技术。 首先,我们要了解模糊搜索的核心思想。模糊搜索允许用户输入不完全或有误的关键词,系统会根据已有的数据...

    JS获取中文拼音首字母,并通过拼音首字母快速查找页面内的中文内容

    如果你不想引入外部库,也可以自己编写一个简单的函数来实现基本的拼音转换。这个函数会基于Unicode码段来判断中文字符对应的拼音首字母。以下是一个简化的示例: ```javascript function getFirstPy(char) { var ...

    一个获得汉字拼音首字母的java程序

    在`getBeginCharacter`方法中,可以看到一系列的条件语句,用于匹配汉字的编码范围,并将其映射到相应的拼音首字母。例如: - 当汉字的编码位于“啊”(`\u554A`)与“座”(`\u5EA7`)之间时,根据其具体位置,...

    C#汉字转拼音程序源码

    描述中提到的“很经典的汉字姓名转拼音首字母的C#程序源代码”可能是指一个特定的开源项目或代码片段,它专注于处理中文姓名并返回其拼音首字母。在处理大量个人信息时,这种功能非常有用,比如在制作通讯录或者社交...

    Excel中文转拼音VBA

    本案例中的VBA函数`pinyin(p As String) As String`是一个用于将单个汉字转换为其对应拼音的函数。函数接受一个参数`p`,该参数为一个字符串,表示待转换的中文字符。函数返回值同样是一个字符串,表示输入字符的...

    拼音搜索自动识别

    例如,可以创建一个搜索引擎,当用户输入拼音时,系统首先转换拼音,然后在数据库中查找匹配的汉字内容。 6. **示例代码**:在名为“pinyin4jDemo”的文件中,通常会包含一些示例代码,展示如何使用pinyin4j库进行...

    Mysql中文汉字转拼音的实现(每个汉字转换全拼)

    以下是一个简单的实现方法,它利用自定义函数来完成这一任务。 首先,我们需要创建一个拼音对照表。这个表用于存储汉字与它们对应的拼音。创建这个表的SQL语句如下: ```sql CREATE TABLE IF NOT EXISTS `t_base_...

    实用汉字转拼音

    本程序名为“实用汉字转拼音”,它提供了一个方便的解决方案,可以将任意汉字转化为对应的拼音,且允许用户选择不同的拼音样式。下面将详细介绍这个程序及其相关知识点。 1. **汉字与拼音的关联**: - 汉字是中国...

    C#汉字转拼音(npinyin)将中文转换成拼音全文或首字母

    "C#汉字转拼音(npinyin)"是一个C#库,它提供了一个方便的方式来将汉字转换为对应的汉语拼音。"npinyin"库能够帮助开发者实现以下功能: 1. **全拼转换**:该库可以将每个汉字转换为其完整的拼音,包括声母、韵母和...

    Delphi自动生成拼音(汉字反查拼音)

    这在处理用户输入的拼音时特别有用,因为同一个拼音可能对应多个汉字。 - 实现这个功能需要一个完整的拼音到汉字的反向映射表,或者使用带有反查功能的第三方库。 5. **程序设计和优化**: - 在Delphi中实现这些...

    拼音索引提示实例 输入提示

    在计算机或手机等设备上,输入拼音首字母或全拼筛选功能的工作原理是这样的:当用户开始输入一个汉字的拼音时,系统会即时匹配数据库中所有可能对应的汉字,并将匹配结果实时显示出来,形成一个下拉菜单供用户选择。...

    汉字拼音转换工具

    例如,提供的压缩包文件名“hotoo-pinyin-85d0c35”可能就是一款名为“hotoo-pinyin”的JavaScript拼音转换库的一个版本。 在JavaScript开发中,处理中文字符并将其转换为拼音是一项常见的需求。这主要涉及到以下几...

    汉字转拼音及获取首字母

    从汉字拼音中提取首字母可以通过对每个拼音进行分割,然后取第一个字符来完成。对于多音字,通常选择最常见的读音作为首字母。 - 在iOS中,可以通过自定义方法遍历汉字拼音的每个字符,判断其是否为声母,如果是,...

    助记码(可以将中文字自动转换为每个字的首拼音字母)

    - **准确性问题**:需要注意的是,由于汉字的多音字较多,因此在某些情况下可能会出现拼音匹配不准确的问题。 - **维护成本**:虽然助记码可以显著提升检索效率,但其背后的拼音库需要定期更新和维护,以适应新词汇...

    sql方法用于汉字转换拼音

    函数接受一个nvarchar类型的参数`@str`,并返回一个nvarchar类型的值表示转换后的拼音结果。 #### 函数实现细节 1. **初始化变量**: - `@word`:用于存储当前处理的单个汉字。 - `@PY`:用于累积存储转换后的...

    2020年11月10日18----Word美化名字、为文字添加拼音、输入生僻字

    点击后,会弹出一个对话框,选择你希望拼音显示的方式,比如居中对齐。在本例中,我们选择了“居中”,然后点击“确定”。这样一来,“林chōng翀胡小硕朱青慕容云灿曹tóng仝”的拼音就会按照所选样式显示出来,...

    iOS 汉字转拼音助手

    例如,在一个地址簿应用中,用户可以通过输入拼音来查找姓名,或者在地图应用中,根据拼音对地点进行排序。 总之,"iOS汉字转拼音助手"是iOS开发中一个实用的工具,它简化了处理汉字与拼音转换的过程,提高了开发...

    拼音汉字互相转换

    5. **用户界面设计**:一个良好的拼音汉字转换工具应具备直观的用户界面,允许用户轻松输入汉字或拼音,并快速查看结果。这涉及到交互设计和反馈机制的构建。 6. **编程语言实现**:实现这种工具可能涉及多种编程...

    sql语句:简写拼音查询

    描述进一步说明了这个功能的实现,即创建一个MySQL数据库中的函数,该函数能够接受一个包含汉字的字符串作为输入,然后返回其对应的拼音首字母简写。 在提供的标签中,“sql语句”表明我们要讨论的是SQL语言相关的...

Global site tag (gtag.js) - Google Analytics