求Java把一串合法的拼音拆分的思路

例如国家的名字如果是两个字:
zhongguo→zhong guo;yindu→yin du;检索出完整拼音后加了空格输出;
多个字如澳大利亚和新加坡:
aodly→ao (dly);xinjp→xin (jp);检索出第一个字的拼音即可;
有什么思路或者jar包可用么?

这个功能需要用到字库的,也就是相当于存储一张表包含所有的拼音组合,然后进行检索,不过这个功能优化应该是个最严重的问题,那样的话你的查询效率会变慢。组合的准确性规避也会很庞大,就好比搜狗输入法的提示一样有些组合电脑是很难判断的。追问

谢谢你的回答,楼上有说用声母韵母来隔断,我想应该比查库耗时少点吧~ 你接触过这方面么?有某有些个建议?

追答

之前使用过汉字字库,拼音的没有接触过,用声母韵母还有一定的缺陷,例如an,ang等结尾是声母的韵母字符你要如何判断?怎么去拆分?我的想法是通过字符表存声母韵母,然后把这些特定的区别存储,在检索的时候可以根据拼音的完整性去检索例如:ganga(尴尬)怎么去确定截取范围呢?这个明显可以截取成gang,a。如果只是用声母韵母貌似有不少的问题。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-09
我觉得你去看一下 拼音的组成规范 回头再想这个问题是最好的!追问

多谢~

第2个回答  2014-07-09
可以根据声母、韵母什么的来进行切分追问

你好:感谢你的思路,我实现一下去~