文字列にスペースと中国が含まれているかどうかをチェックする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 ){ 戻り 偽。 } } 戻り 真。 }