package com.util;
import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
public class SpellKit {
/**
* 获取字符串内的所有汉字的汉语拼音并大写每个字的首字母
*
* @param chinese
* @return
*/
public static String spell(String chinese) {
if (chinese == null) {
return null;
}
System.out.println("中文="+chinese);
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
format.setCaseType(HanyuPinyinCaseType.LOWERCASE);// 小写
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);// 不标声调
format.setVCharType(HanyuPinyinVCharType.WITH_V);// u:的声母替换为v
try {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < chinese.length(); i++) {
String[] array = PinyinHelper.toHanyuPinyinStringArray(chinese
.charAt(i), format);
if (array == null || array.length == 0) {
continue;
}
String s = array[0];// 不管多音字,只取第一个
char c = s.charAt(0);// 大写第一个字母
String pinyin = String.valueOf(c).toUpperCase().concat(s
.substring(1));
sb.append(pinyin);
}
String[] array = PinyinHelper.toHanyuPinyinStringArray(chinese
.charAt(0), format);
String s = array[0];// 不管多音字,只取第一个
char c = s.charAt(0);// 第一个字母
String pinyin = String.valueOf(c).toUpperCase();// 大写
sb.append(pinyin);
return sb.toString();
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
return null;
}
/**
* @param args
*/
public static void main(String[] args) {
System.out.println("拼音:"+SpellKit.spell("似水年华"));
}
}
分享到:
相关推荐
java 取出汉语字符串各汉字拼音首字母并大写
PHP获取字符串拼音首字母 包含多音字扩展
将随意给出的字符串中所有小写字母转换为大写字母。 【输入】 输入的文件为一个字符串,字符串的长度小于3000。 【输出】 全部为大写字母的字符串。 程序运行后结果示例: 【样例输入】 Founded in 1940, Chongqing ...
string字符串含有大写字母将其中大写字母转为小写字母,代码能成功运行。
给定一个字符串,将其中所有的小写字母转换成大写字母。 【输入】 输入一行,包含一个字符串(长度不超过100,可能包含空格)。 【输出】 输出转换后的字符串。 【输入样例】 helloworld123Ha 【输出样例】 HELLO...
写自定义函数stringLower()实现将一个字符串中所有大写字母变为小写字母。在主函数中输入一含有大写字母的字符串,调用该函数并输出改变后的字符串。
Java 1. 接受输入英文字符串,将字符串中每个单词的首字母转换为大写,并输出。 例如输入:I like apples. 输出为:I Like Apples.
输入一个字符串,统计出这个字符串的英文大写字母、小写字母、数字、空格以及其它字符的个数
DECLARE @s VARCHAR(MAX)= @words --待截取字符串 DECLARE @temp VARCHAR(MAX)='' --临时变量 SELECT @temp=@temp+SUBSTRING(ch, sv.number, 1) FROM (SELECT @s AS ch) t CROSS APPLY [master].dbo.spt_...
获取同时包含有数字、大写字母、小写字母的随机字符串,生成字符串长度是可以指定的,并有正则验证方法,代码可以直接引用。
VB获取汉字拼音首字母并返回大写字母的模块 VB获取汉字拼音首字母并返回大写字母的模块
将中文的汉字转化为拼音取大写首字母,拼音不转换
将以0结尾的字符串中的小写字母转变为大写字母,并输出。
汉语拼音大写字母规定格式练习系统设计,汉语拼音大写字母规定格式练习系统设计
汉字转换拼音大写首字母
用户输入一由英文大小写字母或数字0~9组成的字符串(以回车结束),程序逐个检查字符串中各字符,将原串中小写字母变成大写字母,其它字符不变,并在屏幕上显示。
编写程序统计一组字符串中,单词(用空格隔开的连续的字符)的个数,大写字母的个数,小写字母的个数,数字的个数,空格的个数和其他字符的个数,调用函数实现
java代码-使用java输入一个字符串,将字符串中的所有大写字母转换为小写字母,所有小写字母转换为大写字的源代码 ——学习参考资料:仅用于个人学习使用!
java中汉字得到首字母大写 一般得到姓名的第一个字母时用得到! 很实用。
获得汉字字符串拼音首字母