# 一个简单的姓名拼音匹配
#
# 姓名一般是由两三个汉字组成,选其顺序且连续的拼音缩略的组合就算匹配成功。
#
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
分享到:
相关推荐
在中文字符集(如GB2312、GBK或UTF-8)中,每个汉字对应一个或多个人工预先设定的拼音。通过使用特定的库或算法,我们可以将中文字符串转换成对应的拼音形式。例如,“中国”会转换为“zhongguo”,然后进一步提取首...
这里我们将深入探讨如何实现这些功能,并通过一个名为"拼音首字母匹配js库"的压缩包文件来理解相关技术。 首先,我们要了解模糊搜索的核心思想。模糊搜索允许用户输入不完全或有误的关键词,系统会根据已有的数据...
如果你不想引入外部库,也可以自己编写一个简单的函数来实现基本的拼音转换。这个函数会基于Unicode码段来判断中文字符对应的拼音首字母。以下是一个简化的示例: ```javascript function getFirstPy(char) { var ...
在`getBeginCharacter`方法中,可以看到一系列的条件语句,用于匹配汉字的编码范围,并将其映射到相应的拼音首字母。例如: - 当汉字的编码位于“啊”(`\u554A`)与“座”(`\u5EA7`)之间时,根据其具体位置,...
描述中提到的“很经典的汉字姓名转拼音首字母的C#程序源代码”可能是指一个特定的开源项目或代码片段,它专注于处理中文姓名并返回其拼音首字母。在处理大量个人信息时,这种功能非常有用,比如在制作通讯录或者社交...
本案例中的VBA函数`pinyin(p As String) As String`是一个用于将单个汉字转换为其对应拼音的函数。函数接受一个参数`p`,该参数为一个字符串,表示待转换的中文字符。函数返回值同样是一个字符串,表示输入字符的...
例如,可以创建一个搜索引擎,当用户输入拼音时,系统首先转换拼音,然后在数据库中查找匹配的汉字内容。 6. **示例代码**:在名为“pinyin4jDemo”的文件中,通常会包含一些示例代码,展示如何使用pinyin4j库进行...
以下是一个简单的实现方法,它利用自定义函数来完成这一任务。 首先,我们需要创建一个拼音对照表。这个表用于存储汉字与它们对应的拼音。创建这个表的SQL语句如下: ```sql CREATE TABLE IF NOT EXISTS `t_base_...
本程序名为“实用汉字转拼音”,它提供了一个方便的解决方案,可以将任意汉字转化为对应的拼音,且允许用户选择不同的拼音样式。下面将详细介绍这个程序及其相关知识点。 1. **汉字与拼音的关联**: - 汉字是中国...
"C#汉字转拼音(npinyin)"是一个C#库,它提供了一个方便的方式来将汉字转换为对应的汉语拼音。"npinyin"库能够帮助开发者实现以下功能: 1. **全拼转换**:该库可以将每个汉字转换为其完整的拼音,包括声母、韵母和...
这在处理用户输入的拼音时特别有用,因为同一个拼音可能对应多个汉字。 - 实现这个功能需要一个完整的拼音到汉字的反向映射表,或者使用带有反查功能的第三方库。 5. **程序设计和优化**: - 在Delphi中实现这些...
在计算机或手机等设备上,输入拼音首字母或全拼筛选功能的工作原理是这样的:当用户开始输入一个汉字的拼音时,系统会即时匹配数据库中所有可能对应的汉字,并将匹配结果实时显示出来,形成一个下拉菜单供用户选择。...
例如,提供的压缩包文件名“hotoo-pinyin-85d0c35”可能就是一款名为“hotoo-pinyin”的JavaScript拼音转换库的一个版本。 在JavaScript开发中,处理中文字符并将其转换为拼音是一项常见的需求。这主要涉及到以下几...
从汉字拼音中提取首字母可以通过对每个拼音进行分割,然后取第一个字符来完成。对于多音字,通常选择最常见的读音作为首字母。 - 在iOS中,可以通过自定义方法遍历汉字拼音的每个字符,判断其是否为声母,如果是,...
- **准确性问题**:需要注意的是,由于汉字的多音字较多,因此在某些情况下可能会出现拼音匹配不准确的问题。 - **维护成本**:虽然助记码可以显著提升检索效率,但其背后的拼音库需要定期更新和维护,以适应新词汇...
函数接受一个nvarchar类型的参数`@str`,并返回一个nvarchar类型的值表示转换后的拼音结果。 #### 函数实现细节 1. **初始化变量**: - `@word`:用于存储当前处理的单个汉字。 - `@PY`:用于累积存储转换后的...
点击后,会弹出一个对话框,选择你希望拼音显示的方式,比如居中对齐。在本例中,我们选择了“居中”,然后点击“确定”。这样一来,“林chōng翀胡小硕朱青慕容云灿曹tóng仝”的拼音就会按照所选样式显示出来,...
例如,在一个地址簿应用中,用户可以通过输入拼音来查找姓名,或者在地图应用中,根据拼音对地点进行排序。 总之,"iOS汉字转拼音助手"是iOS开发中一个实用的工具,它简化了处理汉字与拼音转换的过程,提高了开发...
5. **用户界面设计**:一个良好的拼音汉字转换工具应具备直观的用户界面,允许用户轻松输入汉字或拼音,并快速查看结果。这涉及到交互设计和反馈机制的构建。 6. **编程语言实现**:实现这种工具可能涉及多种编程...
描述进一步说明了这个功能的实现,即创建一个MySQL数据库中的函数,该函数能够接受一个包含汉字的字符串作为输入,然后返回其对应的拼音首字母简写。 在提供的标签中,“sql语句”表明我们要讨论的是SQL语言相关的...