java判断中英文长度并截取部分添加省略号
程序员文章站
2022-06-29 11:50:17
...
public static void main(String[] args) { System.out.println(substrChinese("我们很好,thx", 4)); } /** * 截取字符串并添加.. * * @param content 输入的内容 * @param maxSize 最大长度 * @return */ public static String substrChinese(String content, Integer maxSize) { String result = content; if (StringUtils.isNotBlank(result)) { int valueLength = 0; String chinese = "[\u0391-\uFFE5]"; /* 获取字段值的长度,如果含中文字符,则每个中文字符长度为2,否则为1 */ for (int i = 0; i < result.length(); i++) { /* 获取一个字符 */ String temp = result.substring(i, i + 1); /* 判断是否为中文字符 */ if (temp.matches(chinese)) { /* 中文字符长度为2 */ valueLength += 2; } else { /* 其他字符长度为1 */ valueLength += 1; } } if (valueLength > maxSize) { result = result.substring(0, maxSize) + ".."; } } return result; }
结果:我们很好..