切分汉字字符串工具类-查看文章

切分汉字字符串工具类

发表于:2018-04-14 12:49:15 分类:JAVA 阅读:643次

image
import java.io.UnsupportedEncodingException;

/**
 * Created by ersredma on 2018/4/14.
 */
//根据汉字尺寸切割字符串
public class SubChineseForLength {
    public static String subString(String str,int length){
        int index = getIndex(str,length);
        return str.substring(0,index-1);
    }
    private static int getIndex(String str,int length){
        int index =length;
        while (!isFull(str.substring(0,index),length)){
            index++;
            if(index>=str.length()){
                index=str.length()+1;
                break;
            }
        }
        return index;
    }
    private static boolean isFull(String str,int length){
        length=length*2;
        try {
            return str.getBytes("GBK").length>length;
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return true;
    }

    public static void main(String[] args) {
        System.out.println(subString("我们ABC,go到这里1起q看花,ok?",10));
    }
}

主要用于汉字字母数字混排的情况下,按打印宽度切分字符串。

关键词:切割汉字,java


验证码: