说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

请问如何给中文字符串数组按发音排序?

编辑:说三道四文库 发布时间:2018-06-24 04:05
HTML文档下载 WORD文档下载 PDF文档下载
某数组:
Vector words = new Vector();
words.add("一个");
words.add("二个");
words.add("三个");
如果按比较它们 Unicode 值的方法排序,结果是:一个 三个 二个
怎么得到它们的发音而让它排序的结果是:二个 三个 一个
呢?
我想到一个办法,做一个文件,把所有汉字 (Unicode 从 19968 到 4万多) 及其读音保存至某文件,按照汉字比较它们读音的字符串,但这样做是不是太麻烦了,有没有什么好办法?
有趣
帮你up一下!!!
保存排好序的序列号,根据这个序列号排序

比如

一二三

存储下来的文件可以是
3
1
2

第一个对应一,第二个对应二,类推,把所有的汉字都这样存下来,比你那样方便
http://expert.csdn.net/Expert/topic/2397/2397470.xml?temp=.1971247

看这个。。。
up
我试了上面的程序,排序结果很乱。
我现在找了一个字符对照表 (由全拼输入法用 WINDOWS 的输入法生成器导出输入法文件,然后去掉所有的词组,是很久之前做的),每行第一个字符是汉字,之后的是它的汉语拼音 (某些汉字为多音字,用空格分开)。
在程序 (网站) 初始化时导入该表,存放在一个 Hashtable 中,用汉字做 key,其拼音组成的字符串数组为 value。
虽然这不是最优的办法,但现在只能用这个了。
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘