什么开源java框架能通过汉字得到拼音,要求对非汉字求拼音不抛异常,不要推荐pinyin4j

什么开源java框架能通过汉字得到拼音,要求对非汉字求拼音不抛异常,不要推荐pinyin4j,第1张

不要pinyin4j的话同类开源的还有

1 JPinyin 在pinyin4j基础上做了改进

2 汉字, 拼音,排序 chineseandpinyin 这个似乎不符合你

可以使用正则表达式+中文字符编码区间验证一个字符串中是否包含汉字

代码如下:

public static void main(String[] args) {

int count = 0;

String regEx = "[\\u4e00-\\u9fa5]";

//Systemoutprintln(regEx);

String str = "中文fdas ";

//Systemoutprintln(str);

Pattern p = Patterncompile(regEx);

Matcher m = pmatcher(str);

while (mfind()) {

for (int i = 0; i <= mgroupCount(); i++) {

count = count + 1;

}

}

Systemoutprintln("共有 " + count + "个 ");

}

public

static

void

main(String[]

args)

{

Pattern

p_str

=

Patterncompile("[\\u4e00-\\u9fa5]+");

String

str="我是汉字";

Matcher

m

=

p_strmatcher(str);

if(mfind()&&mgroup(0)equals(str)){

Systemoutprintln("Ok");

}

}

这个就可以判断,输入任意个字符,必须所有的都是中文,才算是

一个汉字 只对应 一个拼音 ,但是一个拼音是对应多个汉字的, 你想要的功能,就好像一个输入法,输入一堆拼音,显示对应的汉字。这个我不知道,有没有输入法提供这样的接口,简单点就是这样,但是复杂点,根据你输入的拼音显示出足够智能的汉字,这不简单。java有把汉字转拼音的架包,不是拼音转汉字

如果这种情况不和很多的话,可以使用replaceall("重庆","cq")进行替换。如果太多了话就。能想到的办法就是做一个词组表,用来进行替换。如果有好的建议,欢迎讨论。

获取汉字拼音的常规办法就是pinyin4j。这个百度下,没什么问题。

使用pinyin4j的思路,做出一张多音字词组表。根据词组表替换成正确的字母首拼,之后再进行pinyin4j进行转换

import java io ;//导入 *** 作要用到的类

public class main {

public static void main(String args[]) {

File file = new File( c:/test txt ) // 源文件位置

FileReader fr;

try {

fr = new FileReader(file)

BufferedReader in = new BufferedReader(fr) // 包装文件输入流 可整行读取

String line;

try {

while ((line = in readLine()) != null) {

String a = pinyin(line)

int shengdiaoLetter = Integer parseInt(a substring(

a length() a length()))

a = a substring( a length() ) +

+ a substring(shengdiaoLetter shengdiaoLetter + )

System out println(a)

}

} catch (IOException e) {

// TODO Auto generated catch block

e printStackTrace()

}

} catch (FileNotFoundException e) {

// TODO Auto generated catch block

e printStackTrace()

}// 创建文件输入流

}

private static String pinyin(String input) {

int position = ;

int onlyaeiou = ;

input = input toLowerCase()

// 单个韵母不必说 (单个的韵母 当然就标它上面了)

if (ntains( a )) {

onlyaeiou++;

}

if (ntains( e )) {

onlyaeiou++;

}

if (ntains( i )) {

onlyaeiou++;

}

if (ntains( o )) {

onlyaeiou++;

}

if (ntains( u )) {

onlyaeiou++;

}

if (ntains( v )) {

onlyaeiou++;

}

if (onlyaeiou == ) {

if (ntains( a )) {

position = input indexOf( a )

}

if (ntains( e )) {

position = input indexOf( e )

}

if (ntains( i )) {

position = input indexOf( i )

}

if (ntains( o )) {

position = input indexOf( o )

}

if (ntains( u )) {

position = input indexOf( u )

}

if (ntains( v )) {

position = input indexOf( v )

}

return input + position;

}

if (ntains( a )) {

position = input indexOf( a )

return input + position;

}

// 没有a母找o e

else if (ntains( o )) {

position = input indexOf( o )

return input + position;

} else if (ntains( e )) {

position = input indexOf( e )

return input + position;

}

// iu 并列标在后

if (ntains( iu )) {

position = input indexOf( iu ) + ;

return input + position;

}

if (ntains( a )) {

position = input indexOf( a )

return input + position;

}

if (ntains( e )) {

position = input indexOf( e )

return input + position;

}

if (ntains( i )) {

position = input indexOf( i )

return input + position;

}

if (ntains( o )) {

position = input indexOf( o )

return input + position;

}

if (ntains( u )) {

position = input indexOf( u )

return input + position;

}

if (ntains( v )) {

position = input indexOf( v )

return input + position;

}

return input;

}

lishixinzhi/Article/program/Java/hx/201311/25755

以上就是关于什么开源java框架能通过汉字得到拼音,要求对非汉字求拼音不抛异常,不要推荐pinyin4j全部的内容,包括:什么开源java框架能通过汉字得到拼音,要求对非汉字求拼音不抛异常,不要推荐pinyin4j、java怎么识别一个字符串中有汉字、java判断字符串是拼音还是汉字等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9286528.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存