package com.sytdc.cxl;
public class StringSplit2 {
/**
* 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。
* 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,
* 输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。
*
* @param args
*/
public static void main(String args[]){
String s = "ABC汉DEF";
int len = 3;
SplitStr(s,len);
}
public static void SplitStr(String str,int len){
String result = "";
char temp;
//取得的字节数
int counter=0;
int i=0;
//汉字个数
int han = 0;
while(counter < len){
temp = str.charAt(i);
//System.out.println(Character.getNumericValue(str.charAt(3)));
if(Character.getNumericValue(temp)!=-1){
//遇到字母的时候
result = result +temp;
counter++;
i++;
}else{
//遇到汉字的时候,作为unicode字符,汉字的整数值是-1
result = result +temp;
counter = counter +2;
i++;
han = han +1;
}
}
if(counter > len){
if(len ==1){
result = "";
}else{
result = result.substring(0,counter-(han+1));
}
}
System.out.println("result "+ result);
}
}