JAVA区别GB2312编码的中英文和数字

来源:百度知道 编辑:UC知道 时间:2024/05/11 05:25:26
请问对于GB2312的字字符串,如何将中文,英文和数字分开?
例如:
大家要把move on这个短语抄写100遍
分词之后:
大家 要 把 move on 这个 短语 抄写 100 遍
以上的格式都是String
请问我如何将分词后的结果按照中文、英文、数字区分开来分别存储起来呢?
我的意思是说要把分词以后的各个词有区别的存储起来。不是说直接把汉语放一起,汉语也要按照分词整理好的相互分隔的放起来。

public class TestTest {

public static void main(String[] args) {
String str = "大家要把move on这个短语抄写100遍";
String chinese = "", letter = "", number = "";
char arr[] = str.toCharArray();
for (int i = 0; i < arr.length; i++) {

if (isChar(arr[i])) {

if ((arr[i] + "").matches("\\d")) {
number += arr[i];
} else if ((arr[i] + "").matches("[a-zA-Z]")) {
letter += arr[i];
}

} else {

chinese += arr[i];
}

}
System.out.println("汉字:" + chinese);
System.out.println("字母:" + letter);
System.out.println("数字:" + number);
}

public static boolean isChar(char c) {
return (c + "").getBytes().length == 1 ? true : false;
}
}

好了。。已经给你写好了。。

你自己看吧。。如果不