最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java獲取漢字對應(yīng)的拼音(全拼或首字母)

 更新時間:2017年01月16日 11:26:25   作者:崴腳步花鹽人  
這篇文章主要介紹了Java如何獲取漢字對應(yīng)的拼音(全拼或首字母),文中實(shí)現(xiàn)的方法是引用了pinyin4j-2.5.0.jar,然后給出了完整的示例代碼,有需要的朋友可以參考借鑒,下面來一起看看吧。

Java 根據(jù)漢語字符串獲得對應(yīng)的拼音字符串或者拼音首字母字符串等操作,需要添加jar包:

引入pinyin4j-2.5.0.jar

代碼實(shí)現(xiàn):

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
 /***
 * 漢字工具類
 * @author csharper
 * @since 2014.12.26
 *
 */
public class ChineseCharacterUtil {
 /***
 * 將漢字轉(zhuǎn)成拼音(取首字母或全拼)
 * @param hanzi
 * @param full 是否全拼
 * @return
 */
 public static String convertHanzi2Pinyin(String hanzi,boolean full)
 {
 /***
 * ^[\u2E80-\u9FFF]+$ 匹配所有東亞區(qū)的語言 
 * ^[\u4E00-\u9FFF]+$ 匹配簡體和繁體 
 * ^[\u4E00-\u9FA5]+$ 匹配簡體
 */
 String regExp="^[\u4E00-\u9FFF]+$";
 StringBuffer sb=new StringBuffer();
 if(hanzi==null||"".equals(hanzi.trim()))
 {
 return "";
 }
 String pinyin="";
 for(int i=0;i<hanzi.length();i++)
 {
 char unit=hanzi.charAt(i);
 if(match(String.valueOf(unit),regExp))//是漢字,則轉(zhuǎn)拼音
 {
 pinyin=convertSingleHanzi2Pinyin(unit);
 if(full)
 {
  sb.append(pinyin);
 }
 else
 {
  sb.append(pinyin.charAt(0));
 }
 }
 else
 {
 sb.append(unit);
 }
 }
 return sb.toString();
 }
 /***
 * 將單個漢字轉(zhuǎn)成拼音
 * @param hanzi
 * @return
 */
 private static String convertSingleHanzi2Pinyin(char hanzi)
 {
 HanyuPinyinOutputFormat outputFormat = new HanyuPinyinOutputFormat();
 outputFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
 String[] res;
 StringBuffer sb=new StringBuffer();
 try {
 res = PinyinHelper.toHanyuPinyinStringArray(hanzi,outputFormat);
 sb.append(res[0]);//對于多音字,只用第一個拼音
 } catch (Exception e) {
 e.printStackTrace();
 return "";
 }
 return sb.toString();
 }
 
 /***
 * @param str 源字符串
 * @param regex 正則表達(dá)式
 * @return 是否匹配
 */
 public static boolean match(String str,String regex)
 {
 Pattern pattern=Pattern.compile(regex);
 Matcher matcher=pattern.matcher(str);
 return matcher.find();
 }

 public static void main(String[] args) {
 System.out.println(convertHanzi2Pinyin("我是中國人123abc",true));
 }
}

運(yùn)行結(jié)果:

(1)全拼:

woshizhongguoren123abc

(2)首字母:

wszgr123abc

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

相關(guān)文章

  • JavaMail實(shí)現(xiàn)簡單郵件發(fā)送

    JavaMail實(shí)現(xiàn)簡單郵件發(fā)送

    這篇文章主要為大家詳細(xì)介紹了JavaMail實(shí)現(xiàn)簡單郵件發(fā)送,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Javabean轉(zhuǎn)換成json字符并首字母大寫代碼實(shí)例

    Javabean轉(zhuǎn)換成json字符并首字母大寫代碼實(shí)例

    這篇文章主要介紹了javabean轉(zhuǎn)成json字符并首字母大寫代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • Aop動態(tài)代理和cglib實(shí)現(xiàn)代碼詳解

    Aop動態(tài)代理和cglib實(shí)現(xiàn)代碼詳解

    這篇文章主要介紹了Aop動態(tài)代理和cglib實(shí)現(xiàn)代碼詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-12-12
  • 使用ScheduledThreadPoolExecutor踩過最痛的坑

    使用ScheduledThreadPoolExecutor踩過最痛的坑

    這篇文章主要介紹了使用ScheduledThreadPoolExecutor踩過最痛的坑及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Java中跳出多重循環(huán)嵌套的三種方法

    Java中跳出多重循環(huán)嵌套的三種方法

    這篇文章主要給大家介紹了關(guān)于Java中跳出多重循環(huán)嵌套的三種方法,很多復(fù)雜的運(yùn)算以及邏輯可能用到嵌套循環(huán),但是如何跳出當(dāng)前的多重嵌套循環(huán),很多同學(xué)特別是新手都操作的不是很清楚,需要的朋友可以參考下
    2023-07-07
  • mybatis 中 foreach collection的用法小結(jié)(三種)

    mybatis 中 foreach collection的用法小結(jié)(三種)

    這篇文章主要介紹了mybatis 中 foreach collection的用法小結(jié)(三種),需要的朋友可以參考下
    2017-10-10
  • mybatis-plus實(shí)體類主鍵策略有3種(小結(jié))

    mybatis-plus實(shí)體類主鍵策略有3種(小結(jié))

    這篇文章主要介紹了mybatis-plus實(shí)體類主鍵策略有3種(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found的解決方案(親測可用)

    Plugin ‘org.springframework.boot:spring-boot-maven-plug

    這篇文章給大家介紹了Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found的解決方案,親測可用,文中給出了兩種解決方法,需要的朋友可以參考下
    2024-01-01
  • Spring深入探索AOP切面編程

    Spring深入探索AOP切面編程

    Spring是一個廣泛應(yīng)用的框架,SpringAOP則是Spring提供的一個標(biāo)準(zhǔn)易用的aop框架,依托Spring的IOC容器,提供了極強(qiáng)的AOP擴(kuò)展增強(qiáng)能力,對項目開發(fā)提供了極大地便利
    2022-07-07
  • 詳細(xì)分析JAVA加解密算法

    詳細(xì)分析JAVA加解密算法

    這篇文章主要介紹了JAVA加解密算法的的相關(guān)資料,文中講解非常詳細(xì),代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06

最新評論

上犹县| 娱乐| 张家口市| 屯昌县| 安平县| 海原县| 习水县| 莲花县| 伊吾县| 汪清县| 东方市| 静宁县| 抚松县| 镇巴县| 蚌埠市| 纳雍县| 洛宁县| 甘泉县| 屯留县| 邵阳县| 芒康县| 闵行区| 濉溪县| 新建县| 凤冈县| 陇南市| 南和县| 尉氏县| 青岛市| 新干县| 宜州市| 边坝县| 武隆县| 博白县| 鹤峰县| 济宁市| 九江县| 汤原县| 邵武市| 灌云县| 托克托县|