看道面试题试着解答出来,
编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF” 6,应该输出为“我ABC”而不是“我ABC+汉的半个”。
代码如下:
编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF” 6,应该输出为“我ABC”而不是“我ABC+汉的半个”。
代码如下:
public void testsp(){
String splitStr = "我ABC汉DEF";
int splitByte = 6;
String str =SplitIt(splitStr.substring(0,splitByte),splitByte);
System.out.println( str );
}
public static String SplitIt(String splitStr,int splitByte) {
if(splitStr.getBytes().length <= splitByte){
return splitStr;
}
return SplitIt(splitStr.substring(0,splitStr.length()-1), splitByte);
}