文字列にスペースと中国が含まれているかどうかをチェックするJava

文字列にスペースと中国が含まれているかどうかをチェックするJava

パッケージcom.demo.uninstaller.utils。

輸入java.util.regex.Patternの。

輸入org.apache.log4j.Logger。

パブリック クラスChineseCharUtil { 

    プライベート 静的ロガーログ= Logger.getLogger(ChineseCharUtil。クラス)。

    // 真时チェック正常
    パブリック 静的 ブールCheckChineseAndBlankCorrect(文字列checkString){ 

        リターン(hasChineseByRange(checkString)!)&&(checkString.indexOf(」「)== -1 )。
    } 

    パブリック 静的 ボイドメイン(文字列[]引数){ 

        log.debug(CheckChineseAndBlankCorrect( "份额无法3fes")); 

//         log.debugは(hasChineseByRangeは()) "ではない3fesを共有"; 

    } 

    / ** 
     * <BR>中国語の文字が含まれ
     *は<BR>中国の句読点が含まれています
     * 
     * @paramのstrは
     * @return 
     * / 
    公共の 静的 ブールhasChinese(文字列STR){
         IF(STR == NULL ){
             リターン falseに; 
        } 
        のchar [] = CH str.toCharArray();
         のためチャーC:CH){
             IF (isChinese(C)){
                 リターン trueに; 
            } 
        } 
        戻り ; 
    } 

    / ** 
     * <br>すべての漢字です
     *は、中国の句読点<BR>含まれている
     * 
     * @paramのSTR 
     * @return 
     * / 
    パブリック 静的 ブールisChinese(文字列strが){
         IF(STR = = NULL ){
             リターン falseに; 
        } 
        のchar [] = CH str.toCharArray();
         のためチャーC:CH){
             IF!(isChinese(C)){
                返す falseに; 
            } 
        } 
        リターン をtrueに; 
    } 

    / ** 
     *かどうか漢字<BR> 
     中国*句読点と、<BR> 
     * 
     * @paramのC 
     * @return 
     * / 
    プライベート 静的 ブール isChinese(char型{C)
        Character.UnicodeBlockをUBは = Character.UnicodeBlock.of(C);
         IF(UB == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS){
             リターン trueに; 
        } そう IF(UB ==Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS){
             戻り 
        } そう であれば(UB == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION){
             戻り 
        } そう であれば(UB == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A){
             戻り 
        } そう であれば(UB == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B){
             戻り 
        } それ以外の 場合 ==(UBCharacter.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C){
             戻り 
        } そう であれば(UB == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D){
             戻り 
        } そう であれば(UB == Character.UnicodeBlock.GENERAL_PUNCTUATION){
             戻り 
        } そう であれば(UB == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS){
             戻り 
        } 
        を返す 
    }

    / ** 
     * <BR>文字含まれている
     文字コードが<BR>範囲と判断される* 
     (中国は,. ""() ""含まれていません* CJK統合漢字を 「」、!¥ 記号等)を<BR> 
     * 
     * @paramのSTR 
     * @return 
     * / 
    パブリック 静的 ブールhasChineseByReg(文字列STR){
         IF(STR == NULL ){
             戻り falseに; 
        } 
        模様パターン Pattern.compileの=を( "[u4E00 \\ - \\ u9FBF] +" )。
         返すPattern.matcher(STR).findを(); 
    } 

    / ** 
     *かどうか<br>すべての文字
     *文字コードが<BR>範囲と判断されます
     * CJK統合漢字は(中国,. ""() ""含まない 「」、!¥ <BR>などの記号、)
     *
     * @paramのSTR 
     * @return 
     * / 
    パブリック 静的 ブールisChineseByReg(文字列strを){
         IF(STR = = NULL ){
             リターン falseに; 
        } 
        模様パターン = Pattern.compile( "[u4E00 \\ - \\ u9FBF] +"の);
         戻りPattern.matcher(STR).matchesを(); 
    } 

    / ** 
     *文字が含まれています< BR> 
     *文字コードが判断され<BR>レンジ
     *のCJK漢字統一(中国語は,. ""() ""含まれていません 「」、!¥ <BR>記号等)
     * 
     * @param STRを
     * @Return 
     * / 
    パブリック 静的 ブールhasChineseByRange(文字列STR){
         IF(STR == NULL ){
             リターン falseに; 
        } 
        のchar [] = CH str.toCharArray();
         のためチャーC:CH){
             IF(C> = && C 0x4E00 <= 0x9FBF ){
                 戻り trueに; 
            } 
        } 
        戻り falseに; 
    } 

    / ** 
     *かどうか、すべての文字<BR> 
     文字コードが<BR>範囲と判定されました*
     *(中国,. ""() ""を含まないCJK統合漢字 「」、!¥ 記号など)が<BR> 
     * 
     * @param 
    } STR
     * @return 
     * / 
    パブリック 静的 ブールisChineseByRange(文字列str){
         場合(STR == NULL ){
             戻り 
        } 
        のchar [] CH = str.toCharArray()。
        ためチャーC:CH){
             場合(C <0x4E00 || C> 0x9FBF ){
                 戻り 
            } 
        } 
        戻り 
}

 

おすすめ

転載: www.cnblogs.com/inotebook/p/11290420.html