Java 获取中文首字母工具类
在pom.xml中添加依赖
<dependency>
<groupId>net.sourceforge</groupId>
<artifactId>pinyin4j</artifactId>
<version>2.5.0</version>
</dependency>
工具类
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;
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @description: 获取首字母 汉字全拼音
* @author: admin
* @date: Created in 2019/8/30 15:19
* @version:
* @modified By:
*/
public class ChinesePinyinUtil {
/**
* 得到 汉字的全拼
*
* @param src
* 中文字符串
* @return
*/
public static String getPingYin(String src) {
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
format.setVCharType(HanyuPinyinVCharType.WITH_V);
StringBuilder sb = new StringBuilder();
char[] srcArray = src.toCharArray();
try {
for (int i = 0; i < srcArray.length; i++) {
// 判断是否为汉字字符
if (Character.toString(srcArray[i]).matches("[\\u4E00-\\u9FA5]+")) {
String[] targetArray = PinyinHelper.toHanyuPinyinStringArray(srcArray[i], format);
sb.append(targetArray[0]);
} else {
sb.append(Character.toString(srcArray[i]));
}
}
return sb.toString();
} catch (BadHanyuPinyinOutputFormatCombination e1) {
e1.printStackTrace();
}
return sb.toString();
}
/**
* 得到中文首字母,例如"专科"得到zk返回
*
* @param str
* 中文字符串
* @return
*/
public static String getPinYinHeadChar(String str) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
char word = str.charAt(i);
String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);
if (pinyinArray != null) {
sb.append(pinyinArray[0].charAt(0));
} else {
sb.append(word);
}
}
return sb.toString().toUpperCase();
}
/**
* 将字符串转移为ASCII码
*
* @param cnStr
* 中文字符串
* @return
*/
public static String getCnASCII(String cnStr) {
StringBuilder sb = new StringBuilder();
byte[] bGBK = cnStr.getBytes();
for (int i = 0; i < bGBK.length; i++) {
sb.append(Integer.toHexString(bGBK[i] & 0xff));
}
return sb.toString();
}
public static void main(String[] args) throws ParseException {
/*String cnStr = "螺丝纹钢材类";
System.out.println(cnStr);
System.out.println(getPingYin(cnStr));
System.out.println(getPinYinHeadChar(cnStr));
System.out.println(getCnASCII(cnStr));
String str = "abcdef000001";
String c = str.substring(str.length() - 6);
int d = Integer.parseInt(c ) + 1;
String a = "abcdef";
String str1 = String.format("%06d", d);
System.out.println("str1= " +str1);
System.out.println(a + str1);*/
Date nowDate = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s = format.format(nowDate);
Timestamp of = Timestamp.valueOf(s);
Timestamp tiem = new Timestamp(new Date().getTime());
System.out.println(tiem);
}
}