Java-String类Util方法

/**
	 * 把中文转成Unicode码 
	 * @param str
	 * @return
	 */
	public static String chineseToUnicode(String str) {
		String result = "";
		for (int i = 0; i < str.length(); i++) {
			int chr1 = (char) str.charAt(i);
			if (chr1 >= 19968 && chr1 <= 171941) {// 汉字范围 \u4e00-\u9fa5 (中文)
				result += "\\u" + Integer.toHexString(chr1);
			} else {
				result += str.charAt(i);
			}
		}
		return result;
	}	
	/**
	 * 返回中文字符
	 * @param c
	 * @return
	 */
	public static String getChinese(String str){
		StringBuffer sb = new StringBuffer();
		String regex = "[\u4e00-\u9fa5]";
		Pattern pt = Pattern.compile(regex);
		Matcher mt = pt.matcher(str);
		while(mt.find()){
			sb.append(mt.group());
		}
		return sb.toString();
	}
	/**
	 * 判断是否为中文字符
	 * @param c
	 * @return
	 */
	public static boolean isChinese(char c) {
		Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
		if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
				|| ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
				|| ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
				|| ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
				|| ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
				|| ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {
			return true;
		}
		return false;
	}
	/**
	 * 判断是否含有中文字符
	 * @param c
	 * @return
	 */
	public static boolean isHaveChinese(String str){
		String regex = "[\u4e00-\u9fa5]";
		Pattern pt = Pattern.compile(regex);
		Matcher mt = pt.matcher(str);
		if(mt.find()){
			return true;
		}
		return false;
	}

你可能感兴趣的:(String,regex)