问题描述
输入为一个字符串和字符串,要求按字节截取字符串,但是保证汉字不能被截半个
思想:
依次遍历字符串,使用 String.valueOf(str).getBytes().length获取字符的length,对当前已经截取的字节数进行判断
String str="人aaa好bcd";
int count=6;//截取的字节
int sum=0;//当前截取的字节
StringBuilder stringBuilder=new StringBuilder();
//int len=String.valueOf("人").getBytes().length;
for (int i = 0; i < str.length(); i++) {
char c=str.charAt(i);
//System.out.println(String.valueOf(c).getBytes().length);
if (count<=sum) {
break;
} else {
if (count-sum<String.valueOf(c).getBytes().length) {
break;
}
sum+=String.valueOf(c).getBytes().length;
stringBuilder.append(c);
}
}
//System.out.println(sum);
System.out.println(stringBuilder);