问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求判断字符串是否是拼音的成熟算法

发布网友 发布时间:2022-04-30 04:54

我来回答

2个回答

热心网友 时间:2023-10-14 09:46

如果您是做输入法引擎的话,不能这么做的。任意的用户字母串都是拼音串。
例如:hello可以拆解为 he‘l’l‘o四段,您通过拼音输入法输入的话是可以完成输入的。
所以要做的话应该采用自动机原理,或者树结构来存储以任意字符开头的全部合法拼音组合。
例如 a开头的字符有 a、ai、ao、an、ang,那么以a开头的树的形状如下,+表示叶子结点,即若遇到此叶子节点则序列此时结束为合法序列。
a

i o n +
+ + + g

若给您一个字串是以a开头的,则从此树的根结点开始查找,例如序列为anaang
则起始查到an下一个字符为a所以已经无法再向下查找了,此时an即为一个拼音段,
接着下一个序列又是以a开头的所以继续在此树中查找,可以查到a此时a即为一个拼音段,
接下来重复这个过程,得到ang所以anaang的序列就被划分为了an'a'ang序列。
您只需要为26首字母建立树即可完成所有序列的匹配。追问您好,理解您说的树结构算法了。我不是做输入法,需求是从每天几十万国际域名中筛选出符合国人习惯的拼音结构的域名。您的思路很好,我去试试算法实现

追答呵呵,希望对您有用

热心网友 时间:2023-10-14 09:46

没学过编程。。。
大概先写一个数组,每个元素写上不符合拼音标准或几个字断开的的组合或特征,如[od],[gy]
然后写个循环 每次按顺序提取两个字母 遍历那个数组 发现一样的时候就结束循环 提取这次循环的第一个字母和前面已经遍历过的字母 组成一个字符串
拼音的组合是有限的 再链接个数据库 把这段字符串在数据库中检索 然后就知道这一段是不是拼音了

之后继续循环追问谢谢,思路挺好,希望有人能分享已实现的算法

追答声母
b p m f d t n l g k h j q x zh ch sh r z c s y w

韵母
a o e i u v ai ei ui ao ou iu ie ve er an en in un vn ang eng ing ong
各编成一个数组

汉字读音是声母+韵母 等于一个字长度是2-5个字母
(声母长1-2韵母长1-3)

ganguang
假设是拼音 先读入第一个字母 如果是声母 再循环读入1到3位 必须在韵母数组内
有一个对应
而韵母之后必又是声母 继续循环读1-2次必须在声母数组内有一个对应 以下省略 直至校验完8次 因为名字最多4个字,最多4个声母4个韵母组合起来

再不对我也帮不了你了 毕竟没学过编程

热心网友 时间:2023-10-14 09:46

如果您是做输入法引擎的话,不能这么做的。任意的用户字母串都是拼音串。
例如:hello可以拆解为 he‘l’l‘o四段,您通过拼音输入法输入的话是可以完成输入的。
所以要做的话应该采用自动机原理,或者树结构来存储以任意字符开头的全部合法拼音组合。
例如 a开头的字符有 a、ai、ao、an、ang,那么以a开头的树的形状如下,+表示叶子结点,即若遇到此叶子节点则序列此时结束为合法序列。
a

i o n +
+ + + g

若给您一个字串是以a开头的,则从此树的根结点开始查找,例如序列为anaang
则起始查到an下一个字符为a所以已经无法再向下查找了,此时an即为一个拼音段,
接着下一个序列又是以a开头的所以继续在此树中查找,可以查到a此时a即为一个拼音段,
接下来重复这个过程,得到ang所以anaang的序列就被划分为了an'a'ang序列。
您只需要为26首字母建立树即可完成所有序列的匹配。追问您好,理解您说的树结构算法了。我不是做输入法,需求是从每天几十万国际域名中筛选出符合国人习惯的拼音结构的域名。您的思路很好,我去试试算法实现

追答呵呵,希望对您有用

热心网友 时间:2023-10-14 09:46

没学过编程。。。
大概先写一个数组,每个元素写上不符合拼音标准或几个字断开的的组合或特征,如[od],[gy]
然后写个循环 每次按顺序提取两个字母 遍历那个数组 发现一样的时候就结束循环 提取这次循环的第一个字母和前面已经遍历过的字母 组成一个字符串
拼音的组合是有限的 再链接个数据库 把这段字符串在数据库中检索 然后就知道这一段是不是拼音了

之后继续循环追问谢谢,思路挺好,希望有人能分享已实现的算法

追答声母
b p m f d t n l g k h j q x zh ch sh r z c s y w

韵母
a o e i u v ai ei ui ao ou iu ie ve er an en in un vn ang eng ing ong
各编成一个数组

汉字读音是声母+韵母 等于一个字长度是2-5个字母
(声母长1-2韵母长1-3)

ganguang
假设是拼音 先读入第一个字母 如果是声母 再循环读入1到3位 必须在韵母数组内
有一个对应
而韵母之后必又是声母 继续循环读1-2次必须在声母数组内有一个对应 以下省略 直至校验完8次 因为名字最多4个字,最多4个声母4个韵母组合起来

再不对我也帮不了你了 毕竟没学过编程

求判断字符串是否是拼音的成熟算法

如果您是做输入法引擎的话,不能这么做的。任意的用户字母串都是拼音串。例如:hello可以拆解为 he‘l’l‘o四段,您通过拼音输入法输入的话是可以完成输入的。所以要做的话应该采用自动机原理,或者树结构来存储以任意字符开头的全部合法拼音组合。例如 a开头的字符有 a、ai、ao、an、ang,那么以a...

MySQL汉字拼音排序技术实现mysql汉字拼音排序

首先,我们来分析汉字拼音排序技术的工作原理。原理很简单:汉字拼音排序算法会先将中文字符串转换成对应的拼音,然后比较两个拼音字符串的大小顺序,从而实现汉字拼音排序。接下来我们来看看怎么使用MySQL来实现汉字拼音排序的技术。MySQL 支持中文字符的比较操作,可以使用 ORDER BY 子句来实现汉字拼音排序,具...

在c++中,有没有什么算法可以把名字的拼音转化成0到100的数字。做人品...

int x=0,i; //x为辅助变量,i是循环用的 x=x+(int)s[i]; // 将第i个字符的值累加进x中,i 循环至字符串结尾即结束 对辅助变量x进行处理即可,如果是要得到0到100的数字,则x=x%101;如果想更人性化,可以将字符串s与流行词对比,比如s==“给力”则输出什么东西,自己决定 上面的...

cyk是谁的缩写

CYK算法(英语:Cocke–Younger–Kasami algorithm,缩写为CYK algorithm)是由约翰·科克,Younger和嵩忠雄共同研究出来大约发表于1965年的一个算法,它是一个用来判定任意给定的字符串 是否属于一个上下文无关文法

MySQL汉字拼音排序技巧及实现mysql汉字拼音排序

这是由于MySQL本身不具备汉字拼音排序的能力,必须使用外部应用程序来实现。本文介绍的汉字拼音排序技巧及实现,其实现在MYSQL中,借助拓展函数uft8_unicode_ci,可以实现汉字拼音排序。首先,将文本字符串转换为UTF8编码,使用以下代码:`CHARACTER_SET = utf8`然后,在MySQL中对汉字拼音文本进行排序,使用...

2014微软实习生面试是怎么样的

后来JJ就给了一个具体的题目:给一个汉字字符串和拼音字符串,问如何判断汉字字符串和拼音字符串是否匹配。 一眼看,觉得好简单,我说首先要有每个汉字读音的数据存储,然后汉字和拼音字符串从左向右扫一遍,如果有一个没匹配上就说明不能匹配。JJ说会有多音字,瞬间觉得刚才自己又naive了。我就说那就搜索吧,遇到多音字...

有谁能较详细的介绍下拼音输入法的算法实现。。

我介绍一种Java的简单GUI实现过程(主要组件是jlist)。1.数据库:首先建立汉字与拼音字母字符串的对应数据字典,同音对应一组汉字数组。2.数据结构:然后建立动态结构jlist存储要显示的拼音字符串,没有输入时不显示,输入字母后依次开始筛选,每次只显示可能的拼音(数据库已有的)。3.汉字选取:选定拼音...

求一汉字拼音匹配算法

这可是大活 cxsj 可能是 程序设计,还可能是 持续时间

拼音分词算法 C语言

char Yin[5]; // 韵母字符串,区别于声母 FenCi *pLian; // 分词树的子树 } YunMu; // 用来定义韵母的静态集合 // 声母开字头 ShengMu smJiHe[29] = {{""},{"b"},{"c"},{"d"},{""},{"f"},{"g"},{"h"},{""},{"j"},{"k"},{"l"},{"m"},{"n"},{""},...

怎样在JAVA编程中输入一个数字输出这个数字的拼音?

其实就是一个简单的算法问题,我给你写出算法来,补代码就简单多了。看你问题的描述,就是给定一个数,给出对应的拼音。但是要按习惯读出来,对吧。其实不难,抓住主要的,数:0~9对应的拼音,还有就是读出位数来,个,十,百等。所以就简单多了 先要有0~9对应的拼音。再要有位数的拼音:(个...

根据汉字查拼音算法 是否的拼音 成熟的拼音 算法拼音 拼音分割算法 知识的拼音 作为的拼音 当然的拼音 几乎的拼音
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
土豆干黄瓜钱炒肉做法 女朋友有分离焦虑症 恋爱分离焦虑症的表现 90年男马和92年女猴2816年年底结婚吉日 请帮我翻译一句中文,谢谢!!! DNF远古做错了3件首饰 dnf狂战远古3件首饰如何选择 女性结扎同房还能生吗 郑州私立高中学费大概多少钱 求救英文翻译!!! 韩语是不是拼音文字啊? 这个字叫什么,知道的说一声,我不知道是不是那个拼音 汉语的拼音是不是罗马音 ye 怎么读 是不是拼音 拼音是怎么组成的(是不是声母表和韵母表就能拼出所有的汉字) 拼音是不是汉语的音译? 是否怎么拼音 不是的拼音怎么写不是的? 你是不是陌生字的拼音? 我苹果手机玩球球大作战为什么会卡顿 不是,拼音? 《王者荣耀》和《球球大作战》一共有多少玩家? 是不是拼音都是声母,那就是声母了? - 信息提示 是否的拼音 球球大作战是不是可以苹果安卓同时在线吗 是不两个字的拼音 腾讯手游助手球球大作战怎么设置一键交叉吐 怎样才可以让登录球球大作战的设备下线 为什么腾讯手游助手玩球球大作战一直卡着不动呢 怎样判断字符串是否由拼音组成 Sql 中的 存储过程 使用 买回来的牛肉煮烂的很快而且还不说水这种牛肉有问题吗? 小米note电量耗尽之后冲不进去电 充着电屏幕一会亮一会灭怎么办 小米note我把电用完了手机自动关机了,充不进去电,如何才能充进去电 丝绒衣服上面有霉点能去掉吗 红米note9怎么没有微信视频美颜? 银行面试时,考官问我我的职业规划是什么,该怎么回答? 银行网申职业规划怎么写? 银行工作如何进行职业规划? 银行校园招聘网申:职业规划如何填写? 去银行应聘,如果被问到未来三年的职业规划该怎么回答 office2016激活不了怎么办 thinkpad office 2016激活不了怎么办 脸上的暗疮为什么会发黑?怎么弄掉它? 额头发黑长痘(暗疮)怎么办 我的脸上有一个暗疮一直都好不了,都有一年了,看着有点发黑,老是能挤出白色的东西,怎么办? 青春痘发黑怎么办? 为什么我痘痘发黑 痘痘没有挤干干净就张愈合了 表面发黑 里面是硬的 像是一个小囊肿,这该怎么办?