/*
需求:
10、编写函数,从一个字符串中按字节数截取一部分,但不能截取出半个中文(GBK码表),
例如:从“HM程序员”中截取2个字节是“HM”,截取4个则是“HM程”,截取3个字节也要是"HM"而不要出现半个中文
*/
public class Test10 {
public static void main(String[] args) {
// 定义一个字符串
String str = "MM序M程员";
// 调用方法
SubStr(str, 3);
}
public static void SubStr(String src, int leng) {
int number = src.length();
// 将字符串转换成byte字节数组
byte bys[] = src.getBytes();
//判断字符串的长度是否大于截取的长度
if (leng > number) {
leng = number;
}
// 判断是否出现了截半
if (bys[leng] > 0) {
String subStrx = new String(bys, 0, leng);
System.out.println("SubStr:" + subStrx);
} else {
String subStrx = new String(bys, 0, --leng);
System.out.println("SubStr:" + subStrx);
}
}
}
|
|