国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java將漢字轉(zhuǎn)拼音以及判斷字符是否為漢字

這篇具有很好參考價值的文章主要介紹了Java將漢字轉(zhuǎn)拼音以及判斷字符是否為漢字。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

首先是將漢字轉(zhuǎn)換為拼音:
導(dǎo)入依賴:

 <dependency>
     <groupId>org.apache.poi</groupId>
      <artifactId>poi-ooxml</artifactId>
      <version>4.1.2</version>
  </dependency>

創(chuàng)建轉(zhuǎn)拼音的靜態(tài)方法toPinyin,也可以封裝成工具類,使用工具類進(jìn)行調(diào)用:

public static String toPinyin(String chinese){
        String pinyinStr = "";
        char[] newChar = chinese.toCharArray();
        HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
        defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
        defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
        for (int i = 0; i < newChar.length; i++) {
            if (newChar[i] > 128) {
                try {
                    pinyinStr += PinyinHelper.toHanyuPinyinStringArray(newChar[i], defaultFormat)[0];
                } catch (BadHanyuPinyinOutputFormatCombination e) {
                    e.printStackTrace();
                }
            }else{
                pinyinStr += newChar[i];
            }
        }
        return pinyinStr;
    }

Java將漢字轉(zhuǎn)拼音以及判斷字符是否為漢字,work,java踩坑之路,IT,java,開發(fā)語言
在方法中調(diào)用成功,這里我需要大寫并且每個漢字之間保持空格,操作如下:

  String name="西青果顆粒藏青果顆";
        String[] split = name.split("");
        String finalPy="";
        for (String s : split) {
            String s1 = toPinyin(s).toUpperCase(Locale.ROOT);
            finalPy= finalPy+" "+s1;
        }
        System.out.println(finalPy.trim());

Java將漢字轉(zhuǎn)拼音以及判斷字符是否為漢字,work,java踩坑之路,IT,java,開發(fā)語言

這里一切都沒有問題,但是如果當(dāng)字符串中包含非英文的特殊符號,會報錯如下:
Java將漢字轉(zhuǎn)拼音以及判斷字符是否為漢字,work,java踩坑之路,IT,java,開發(fā)語言
這里需要進(jìn)行替換,將中文下的各種符號替換為英文狀態(tài)下的:
使用String的replaceAll方法進(jìn)行替換,如圖:Java將漢字轉(zhuǎn)拼音以及判斷字符是否為漢字,work,java踩坑之路,IT,java,開發(fā)語言
后來出現(xiàn)了羅馬符號各種,這種方式就太麻煩了,可以判斷每個字符是否是漢字,是漢字就調(diào)用toPinyin方法進(jìn)行轉(zhuǎn)換,不是漢字則不轉(zhuǎn),實現(xiàn)的方法有很多,這里使用一種:通過unicode編碼范圍進(jìn)行判斷:

Pattern p2 = Pattern.compile("[\u4e00-\u9fa5]");
 Matcher m2 = p2.matcher(s);

Java將漢字轉(zhuǎn)拼音以及判斷字符是否為漢字,work,java踩坑之路,IT,java,開發(fā)語言
可以看到,不管什么符號,都會原樣輸出,
這里附上其他編碼范圍:

類型 范圍
漢字 [0x4e00,0x9fa5]
數(shù)字 [0x30,0x39]
小寫字母 [0x61,0x7a]
大寫字母 [0x41,0x5a]

參考鏈接:java中判斷字符串是否是中文的方法文章來源地址http://www.zghlxwxcb.cn/news/detail-615006.html

到了這里,關(guān)于Java將漢字轉(zhuǎn)拼音以及判斷字符是否為漢字的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • java 怎么判斷某個字符串是否在數(shù)組中

    在 Java 中,可以使用以下幾種方法來判斷一個字符串是否在數(shù)組中: 使用 for 循環(huán)遍歷數(shù)組,逐個比較字符串是否相等。 使用 Arrays.asList() 將數(shù)組轉(zhuǎn)換為列表,然后使用列表的 contains() 方法來判斷字符串是否在數(shù)組中。 使用 Java 8 的 Stream API,使用 anyMatch() 方法來判斷是否存

    2024年02月14日
    瀏覽(46)
  • Java 8 判斷日期字符串是否符合指定格式

    可以使用 Java 8 的 DateTimeFormatter 類來判斷日期字符串是否符合指定格式。具體代碼如下: 如果你不想通過捕獲異常的方式來判斷日期字符串是否符合指定格式,也可以使用 DateTimeFormatter 類中的 parseUnresolved() 方法來進(jìn)行解析。具體代碼如下: 以上代碼中,使用 parseUnresolved(

    2024年02月16日
    瀏覽(30)
  • java判斷某個字符串是否在字符串?dāng)?shù)組中的方法(4種)

    java判斷某個字符串是否在字符串?dāng)?shù)組中的方法(4種)

    public class Demo { ??? public static boolean useLoop(String[] arr, String targetValue) { ??????? for (String s : arr) { ??????????? if (s.equals(targetValue)) return true; ??????? } ??????? return false; ??? } ? ??? public static void main(String[] args) { ??????? String arr[] = {\\\"aa\\\", \\\"bb\\\", \\\"cc\\\"}; ??????

    2024年02月11日
    瀏覽(202)
  • Java判斷兩個集合是否具有交集以及如何獲得交集

    Java判斷兩個集合是否具有交集以及如何獲得交集

    全限定名為java.util.Collections,在倆個集合沒有交集的時候會返回true,否則返回false。 比如: 結(jié)果: 全限定名為:org.apache.commons.collections.CollectionUtils,兩個集合有交集會返回true,否則會返回false,跟Collections.disjoint相反。 例如: 結(jié)果: 全限定名為:cn.hutool.core.collection.Coll

    2024年02月06日
    瀏覽(31)
  • 手把手教你5種方法實現(xiàn)Java判斷字符串是否為數(shù)字

    方法一:用JAVA自帶的函數(shù) public static boolean isNumeric(String str){ for (int i = str.length();--i=0;){ if (!Character.isDigit(str.charAt(i))){ return false; } } return true; } 方法一通過遍歷字符串的每一個字符,并使用 Character.isDigit() 函數(shù)檢查每一個字符是否是數(shù)字。如果字符串中所有字符都是數(shù)字,那

    2024年02月07日
    瀏覽(37)
  • java判斷字符串是否和空字符串(““)相等、是否和空引用(null)相等,比較順序不同導(dǎo)致出現(xiàn)死代碼(Dead code)

    java判斷字符串是否和空字符串(““)相等、是否和空引用(null)相等,比較順序不同導(dǎo)致出現(xiàn)死代碼(Dead code)

    我在用Java實現(xiàn)需求的時候,用到了字符串跟空字符串(“”)比較,跟空引用null比較,兩個比較語句的順序不同,一個順序出現(xiàn)了死代碼(Dead code)。 下面這個代碼片段,字符串line跟空字符串(“”)的比較放在跟null的比較前面,編譯器提醒紅色方框中的代碼是死代碼:

    2024年02月14日
    瀏覽(28)
  • python 判斷是否漢字的幾種方法

    1. 使用Python內(nèi)置的ord() ord()函數(shù)將字符轉(zhuǎn)換為Unicode編碼,然后判斷其范圍是否在漢字的范圍內(nèi): 示例代碼: 2. 使用Python內(nèi)置的unicodedata庫: 使用Python內(nèi)置的unicodedata庫可以用來判斷一個字符是否為漢字 示例代碼: 3. 使用正則表達(dá)式 可以使用正則表達(dá)式來判斷一個字符是否為

    2024年02月12日
    瀏覽(22)
  • Oracle-如何判斷字符串包含中文字符串(漢字),刪除中文內(nèi)容及保留中文內(nèi)容

    Oracle-如何判斷字符串包含中文字符串(漢字),刪除中文內(nèi)容及保留中文內(nèi)容

    今天遇見一個問題需要將字段中包含中文字符串的篩選出來 在網(wǎng)上查找了一下有以下三種方式: length計算字符長度,lengthb計算字節(jié)長度 篩選出包含中文的字符串 ASCIISTR函數(shù),參數(shù)是一個字符串,如果這個字符在ASCII碼表中有,則轉(zhuǎn)成ASCII表中的字符。如果沒有,則轉(zhuǎn)成xxx

    2024年02月12日
    瀏覽(27)
  • C#漢字轉(zhuǎn)拼音_Microsoft.PinYinConverter漢字轉(zhuǎn)拼音

    C#漢字轉(zhuǎn)拼音_Microsoft.PinYinConverter漢字轉(zhuǎn)拼音

    C#漢字轉(zhuǎn)拼音_Microsoft.PinYinConverter漢字轉(zhuǎn)拼音 一、Microsoft.PinYinConverter 引入 1.Nuget命令引入 2.Nuget包管理引入 ?Nuget連接地址:NuGet Gallery | Microsoft.PinYinConverter 1.0.0 二、Microsoft.PinYinConverter 使用介紹 ChineseChar使用案例: 多音字返回多個讀音,最后一位代表聲調(diào),每次只能轉(zhuǎn)換一個

    2024年02月04日
    瀏覽(18)
  • Java中如何判斷是否為閏年

    Java中如何判斷是否為閏年

    ? 博主: 命運之光 ? 專欄: Java經(jīng)典程序設(shè)計 ? 目錄 ?介紹 ??引言:閏年的定義和在編程中的應(yīng)用 ??目的:介紹如何使用Java編寫一個函數(shù)來判斷年份是否為閏年 ?閏年的條件 ?提供數(shù)學(xué)原理和背景知識 ??判斷是否為閏年的Java代碼 ?示例和測試 ?總結(jié) 前言: Java中

    2024年02月02日
    瀏覽(163)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包