【笔记】分离字符串中的数字、字母和汉字


package com.xtl.test;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 字符串中分离数字和字母
 * @author xiatianlong
 *
 * @date 2016年4月28日 上午9:38:24
 */
public class Test {

    public static void main(String[] args) {

        StringBuffer characters = new StringBuffer();
        StringBuffer letter = new StringBuffer();
        StringBuffer number = new StringBuffer();
        
        String str  = "中国abc123";
        char[] strArr = str.toCharArray();
        for (char string : strArr) {
            // 判断是否为字母
            if ((string+"").matches("[a-z]") || (string+"").matches("[A-Z]")){
                letter.append(string+"  ");
            }
            // 判断是否为数字
            if ((string+"").matches("[0-9]")){
                number.append(string+"  ");
            }
            // 判断是否为汉字
            if (isChineseChar(string+"")){
                characters.append(string+"  ");
            }
        }
        System.out.println(characters.toString());
        System.out.println(letter.toString());
        System.out.println(number.toString());
    }
    
    /**
     * 判断是否为汉字
     * @param str
     *             字符串
     * @return
     */
    public static boolean isChineseChar(String str){
           boolean temp = false;
           Pattern p=Pattern.compile("[\u4e00-\u9fa5]");
           Matcher m=p.matcher(str);
           if(m.find()){
               temp =  true;
           }
           return temp;
       }
}

posted @ 2016-04-28 10:24  我的bug  阅读(2487)  评论(0编辑  收藏  举报