问:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不<span style="font: 13px/18.71px Tahoma, Verdana, Geneva, Arial, Helvetica, sans-serif; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; float: none; display: inline !important; white-space: normal; background-color: rgb(245, 245, 245); -webkit-text-stroke-width: 0px;">“我ABC+汉的半个”。</span>
package com.base;
public class Test {
public static void main(String[] args) {
new Test().spliteChina("abc呀defg",6);
}
public void spliteChina(String str,int size){
char[] chars = str.toCharArray();
int num = 0;
int charnum = 0;
for(char c : chars){
byte[] bytes = String.valueOf(c).getBytes();
num += bytes.length;
charnum ++;
if(num == size){
break;
}else if (num > size) {
charnum --;
break;
}
}
String outString = str.substring(0,charnum);
System.out.println(outString);
}
}