java split怎么分割英文单词数字一起的时候?

来源:百度知道 编辑:UC知道 时间:2024/09/14 08:09:55
public String p(String test){

//StringBuffer 接收处理后的字符
StringBuffer buffer=new StringBuffer();
//最小的汉字u编码 从gb-unicode对照表查的 好像不对
String base="\u2121";
//分割字符串为数组
String[] temp=test.split("");
for(int i=0;i<temp.length;i++){
//String的compareTo方法,返回unicode编码的差值,>0说明是汉字
if(temp[i].compareTo(base)>0){
//加" "
temp[i]+=" ";
//如果改汉字前面的字符为英文/数字之类 则在前面加" "
if((i>1)&&(temp[i-1].compareTo(base)<0)){
temp[i]=" "+temp[i];
}
}
buffer.append(temp[i]);
}
System.out.println(buffer.toString());
String s= buffer.toString();
return s;
}
public static void main(String args[]

汉字的最小编码是19968
你这样输出一下就知道了
int i='一';
System.out.println(i);

可以的,你这种采用字符编码,可以考虑用Stirng中的indexof进行实现。
或者StringTokenizor 实现