package com.product.project.management.util; public class ItemizeUtil { public static void main(String[] args) { System.out.println(getChineseOrEnglishOrNumber("ENGLISH","C12架立筋")); System.out.println(getChineseOrEnglishOrNumber("NUMBER","C12架立筋")); System.out.println(getChineseOrEnglishOrNumber("CHINESE","C12架立筋")); System.out.println(getChineseOrEnglishOrNumber("ENGLISHNUMBER","C12架立筋")); System.out.println(getChineseOrEnglishOrNumber("NUMBERCHINESE","C12架立筋")); } /** * 根据语言截取对应文本 * @param language * @param str * @return */ public static String getChineseOrEnglishOrNumber(String language, String str) { StringBuffer sbf = new StringBuffer(); char[] charArray = str.toCharArray(); for (int i = 0; i < charArray.length; i++) { // 获得中文 if (language.toUpperCase().indexOf("CHINESE") > -1) { // Java判断一个字符串是否有中文是利用Unicode编码来判断,因为中文的编码区间为:0x4e00--0x9fbb if ((charArray[i] >= 0x4e00) && (charArray[i] <= 0x9fbb)) { sbf.append(charArray[i]); } } if (language.toUpperCase().indexOf("ENGLISH") > -1) { // Java判断一个字符串是否有中文是利用Unicode编码来判断,因为中文的编码区间为:65--122 if ((charArray[i] >= 65) && (charArray[i] <= 122)) { sbf.append(charArray[i]); } } if (language.toUpperCase().indexOf("NUMBER") > -1) { // Java判断一个字符串是否有中文是利用Unicode编码来判断,因为数字的编码区间为:48--57 if (str.charAt(i) >= 48 && str.charAt(i) <= 57) { sbf.append(charArray[i]); } } } return sbf.toString(); } }