一个截串的小程序

来源:互联网 发布:计算机二级vb考试题库 编辑:程序博客网 时间:2024/05/16 06:11

今天偶尔看到一个笔试题:编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如ABC”4,应该截为AB”,输入ABCDEF”6,应该输出为ABC”而不是ABC+汉的半个 感觉给出的代码不太理想,就自己随手写个看看。

private String cutString(String str, int bytes){
        if(str.getBytes().length == bytes) return str;
        String resultstr = null;
        int counterByte = 0;
        for(int i = 0; i <= str.length(); i++){
            //遍历字符串,判断每个字符的byte数
            String temp = str.substring(i, i+1);
            counterByte += temp.getBytes().length==1?1:2;
            if(counterByte <= bytes) continue;
            resultstr = str.substring(0, i);
            break;
        }
        return resultstr;
    }