`

取得给定汉字串的首字母串

 
阅读更多

importjava.io.UnsupportedEncodingException;

/***//**
*取得给定汉字串的首字母串,即声母串
*<p>Title:ChineseCharToEn</p>
*<p>
@authorjaverQQ:84831612</p>
*
@version1.0
*@date2004-02-19
*注:只支持GB2312字符集中的汉字
*/

publicfinalclassChineseCharToEn
...{
privatefinalstaticint[]li_SecPosValue=
...{
1601,1637,1833,2078,2274,2302,2433,2594,2787,3106,3212,3472,
3635,3722,3730,3858,4027,4086,4390,4558,4684,4925,5249,5590
}
;
privatefinalstaticString[]lc_FirstLetter=
...{
"a","b","c","d","e","f","g","h","j","k","l","m","n","o","p",
"q","r","s","t","w","x","y","z"
}
;

/***//**
*取得给定汉字串的首字母串,即声母串
*
@paramstr给定汉字串
*
@return声母串
*/

publicStringgetAllFirstLetter(Stringstr)
...{
if(str==null||str.trim().length()==0)
...{
return"";
}


String_str
="";
for(inti=0;i<str.length();i++)
...{
_str
=_str+this.getFirstLetter(str.substring(i,i+1));
}


return_str;
}


/***//**
*取得给定汉字的首字母,即声母
*
@paramchinese给定的汉字
*
@return给定汉字的声母
*/

publicStringgetFirstLetter(Stringchinese)
...{
if(chinese==null||chinese.trim().length()==0)
...{
return"";
}

chinese
=this.conversionStr(chinese,"GB2312","ISO8859-1");

if(chinese.length()>1)//判断是不是汉字
...{
intli_SectorCode=(int)chinese.charAt(0);//汉字区码
intli_PositionCode=(int)chinese.charAt(1);//汉字位码
li_SectorCode=li_SectorCode-160;
li_PositionCode
=li_PositionCode-160;
intli_SecPosCode=li_SectorCode*100+li_PositionCode;//汉字区位码
if(li_SecPosCode>1600&&li_SecPosCode<5590)
...{
for(inti=0;i<23;i++)
...{
if(li_SecPosCode>=li_SecPosValue[i]&&
li_SecPosCode
<li_SecPosValue[i+1])
...{
chinese
=lc_FirstLetter[i];
break;
}

}

}

else//非汉字字符,如图形符号或ASCII码
...{
chinese
=this.conversionStr(chinese,"ISO8859-1","GB2312");
chinese
=chinese.substring(0,1);
}

}


returnchinese;
}


/***//**
*字符串编码转换
*
@paramstr要转换编码的字符串
*
@paramcharsetName原来的编码
*
@paramtoCharsetName转换后的编码
*
@return经过编码转换后的字符串
*/

privateStringconversionStr(Stringstr,StringcharsetName,StringtoCharsetName)
...{
try
...{
str
=newString(str.getBytes(charsetName),toCharsetName);
}

catch(UnsupportedEncodingExceptionex)
...{
System.out.println(
"字符串编码转换异常:"+ex.getMessage());
}


returnstr;
}

}


/***//**
*测试程序
*<p>Title:JaverTest</p>
*/

publicclassJaverTest
...{
publicstaticvoidmain(String[]args)
...{
ChineseCharToEncte
=newChineseCharToEn();
System.out.println(
""夜未眠"的首个拼音字母是:"+cte.getFirstLetter("夜未眠"));
System.out.println(
""Javer夜未眠"的首个拼音字母是:"+cte.getFirstLetter("Javer夜未眠"));
System.out.println(
""Javer夜未眠"的全部字母的拼音字母是:"+cte.getAllFirstLetter("Javer夜未眠"));
}

}


分享到:
评论

相关推荐

    取得汉字首字母代码

    根据给定的文件信息,我们将深入探讨如何在编程中实现获取汉字首字母代码的方法,以及这一功能在实际应用中的重要性和实现细节。 ### 汉字首字母代码的意义 汉字首字母代码通常指的是汉语拼音中每个汉字对应的首个...

    取得汉字首字母算法

    给定的汉字串"中华人民共和国",经过算法处理后,首字母串"zhrmghg"被返回。这意味着在拼音中,"中"对应"zh","华"对应"h","人"对应"r",以此类推。 通过这个算法,我们可以快速地将汉字串转换为首字母串,方便...

    c#函数取得汉字的拼音首字母

    在给定的代码中,我们看到两个关键函数`GetPYString`和`GetPYChar`,它们被设计用来获取汉字的拼音首字母。这对于一些特定的应用场景非常有用,例如关键词搜索、数据排序或构建基于拼音的用户界面。 `GetPYString`...

    php取得字符串首字母的方法

    在给定的实例中,我们看到一个处理中文字符串首字母的方法,该方法是基于GB2312编码的拼音排序规则。GB2312是中国的一种汉字编码标准,它为每个汉字分配了一个双字节编码。 首先,让我们深入理解这段代码的工作原理...

    mysql 中如何取得汉字字段的各汉字首字母

    函数的目的是返回这个字符串中所有汉字的首字母组成的字符串。 在函数内部,我们声明了几个变量来帮助处理字符串: 1. `tmp_str`:存储每次截取的字符串,初始值为`in_string`。 2. `tmp_len`:存储`tmp_str`的...

    精彩编程与编程技巧-取得汉字的拼音首字...

    根据给定的信息,本文将详细解释一个VBScript脚本中的函数`GetPY`,该函数用于获取汉字的拼音首字母。此功能在处理中文文本时非常有用,尤其是在需要按照拼音排序或检索的情况下。 ### 函数简介 #### 标题:精彩...

    取得汉字拼音(首码)

    在给定的标题“取得汉字拼音(首码)”中,所指的“首码”通常是指汉字拼音的首字母,这是一种常见的汉字编码方式,尤其在早期的计算机系统和数据库查询中,由于存储空间有限,常被用来简化汉字的存储和检索。...

    VBA_自定义函数

    - **函数描述**:此函数可以从含有字母和数字的字符串中提取出所有数字,并返回这些数字组成的字符串。 - **应用场景**:广泛应用于数据清洗、文本处理等场合,特别是在需要从混合文本中提取数值信息的情况下。 ###...

    经典JavaScript正则表达式实战

    - `^[a-zA-Z][a-zA-Z0-9_]{5,15}$`:`^` 表示字符串的开始,`[a-zA-Z]` 表示以字母开头,`[a-zA-Z0-9_]` 表示后续字符可以是字母、数字或下划线,`{5,15}` 表示长度在6到16个字符之间,`$` 表示字符串的结束。...

    一年级下册语文部编版期末模拟卷 (13)(含答案).pdf

    5. 汉字部首和结构知识:对于形似字进行区分和应用,如“人、己、刀、牛、力、午、牛”等字的辨识与书写。 6. 句子结构和语法:理解并掌握简单句的基本结构,如主谓宾的排列。 7. 词语搭配:学会根据上下文将词语...

    课程结课论文模板

    需要注意的是,来源于人名的单位符号首字母大写,如“k”代表Kilogram(千克)。 - **升的符号**: 体积单位升的符号为大写的"L"。 #### 六、表格设计规范 - **表格规范化**: 表格设计要科学、明确、简洁。采用三线表...

    九年级语文上册第二次月考试题二 试题.doc

    例如,“嫣”字的音序查法是根据其音节的第一个字母“Y”进行查找,而部首查法则需要识别“女”部首后,再根据剩余部分的笔画数进行定位。这类题目旨在考查学生对字典使用技巧的熟练程度。 接着,在词语选择与语境...

Global site tag (gtag.js) - Google Analytics