现在的位置: 首页 > 综合 > 正文

按字节截取字符串

2013年07月24日 ⁄ 综合 ⁄ 共 640字 ⁄ 字号 评论关闭

 

 

public class Demo {
    public static void main(String[] args) {
        for (int i = 0; i < 15; i++) {
            System.out.print("截到第" + i + "位: ");
            splitStr("我ZWR爱JAVA", i);
        }
    }

    public static void splitStr(String str, int bytes) {
        int end = 0;
        for (int i = 0, len = str.length(); i < len; i++) {
            if (isChineseChar(str.charAt(i))) {
                bytes--;
            }
            bytes--;
            if (bytes >= 0) {
                end = i + 1;
            } else {
                break;
            }
        }
        System.out.println(str.substring(0, end));
    }

    private static boolean isChineseChar(char c) {
        return String.valueOf(c).getBytes().length > 1;
    }
    // 截到第0位:
    // 截到第1位:
    // 截到第2位: 我
    // 截到第3位: 我Z
    // 截到第4位: 我ZW
    // 截到第5位: 我ZWR
    // 截到第6位: 我ZWR
    // 截到第7位: 我ZWR爱
    // 截到第8位: 我ZWR爱J
    // 截到第9位: 我ZWR爱JA
    // 截到第10位: 我ZWR爱JAV
    // 截到第11位: 我ZWR爱JAVA
    // 截到第12位: 我ZWR爱JAVA
    // 截到第13位: 我ZWR爱JAVA
    // 截到第14位: 我ZWR爱JAVA

}

 

抱歉!评论已关闭.