• 按字节截取字符串


    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
    
    }
  • 相关阅读:
    图解ArrayList源码
    HashMap相关
    1. 两数之和
    判定字符是否唯一
    反射相关
    自定义注解
    TreeMap相关
    判定是否互为字符重排
    2. 两数相加
    线程基础
  • 原文地址:https://www.cnblogs.com/xiaoxian1369/p/2717130.html
Copyright © 2020-2023  润新知