• JAVA实现中英文混合文字友好截取功能 5ab


    package com.xxx.utils;
    
    import com.google.common.collect.Lists;
    
    import java.util.List;
    
    /**
     * 字符工具类
     */
    public final class CharUtil {
    
        public CharUtil() {
        }
    
        /**
         * 实际字符串分隔
         * @param charStr 需要分隔的字符串
         * @param catIndex 分隔长度
         * @return List
         */
        private static String[] cut(String charStr,int catIndex){
            String sb = "";
            int charLength = 0;
            for (int i = 0;i<charStr.length() ;i++ ){
                int asciiCode = charStr.codePointAt(i);
                if (asciiCode >=0 && asciiCode<=255){
                    charLength+=1;
                } else{
                    charLength+=2;
                }
                if (charLength<=catIndex) {
                    sb += charStr.charAt(i);
                }else{
                    break;
                }
            }
            return new String[]{charStr.substring(sb.length()),sb};
        }
    
    
        /**
         * 把字符串按照字符的长度进行分隔
         * @param charStr 需要分隔的字符串
         * @param catIndex 分隔长度
         * @return List
         */
        public static List<String> cutString(String charStr, int catIndex){
            List<String> result = Lists.newArrayList();
            boolean endCond = true;
            while (endCond){
                String[] forCutChar = cut(charStr, catIndex);
                result.add(forCutChar[1]);
                if(forCutChar[0].length() > catIndex){
                    charStr = forCutChar[0];
                }else{
                    endCond = false;
                    if(StringUtil.isNotBlank(forCutChar[0])){
                        result.add(forCutChar[0]);
                    }
                }
            }
            return result;
        }
    }
    
    
  • 相关阅读:
    实现 (5).add(3).minus(2) 功能
    vue兄弟组件传值的三种方法
    Web渗透测试思路整理
    PHP代码审计基础
    简单易用,用Powershell劫持Windows系统快捷键
    javascript脚本混淆
    秒杀系统架构优化思路
    什么是OOP
    一分钟了解负载均衡的一切
    MVC
  • 原文地址:https://www.cnblogs.com/5ab-top/p/15268387.html
Copyright © 2020-2023  润新知