加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java 按照字节来截取字符串的代码(不会出现半个汉字)

发布时间:2020-12-14 05:16:34 所属栏目:Java 来源:网络整理
导读:复制代码 代码如下: /* * Copyright 2012-2013 The Haohui Network Corporation */ package com.haohui.common.utils; /** * pre * 字符串辅助工具 * /pre * * @project baidamei * @author cevencheng cevencheng@gmail.com * @create 2012-11-30 下午2:42:

复制代码 代码如下:

/*
 *    Copyright 2012-2013 The Haohui Network Corporation
 */
package com.haohui.common.utils;

/**
 * <pre>
 * 字符串辅助工具
 * </pre>
 *
 * @project baidamei
 * @author cevencheng <cevencheng@gmail.com>
 * @create 2012-11-30 下午2:42:56
 */
public class StringTool {

 /**
  *<b>截取指定字节长度的字符串,不能返回半个汉字</b>
  * 例如:
  * 如果网页最多能显示17个汉字,那么 length 则为 34
  * StringTool.getSubString(str,34);
  *
  * @param str
  * @param length
  * @return
  */
 public static String getSubString(String str,int length) {
  int count = 0;
  int offset = 0;
  char[] c = str.toCharArray();
  for (int i = 0; i < c.length; i++) {
   if (c[i] > 256) {
    offset = 2;
    count += 2;
   } else {
    offset = 1;
    count++;
   }
   if (count == length) {
    return str.substring(0,i + 1);
   }
   if ((count == length + 1 && offset == 2)) {
    return str.substring(0,i);
   }
  }
  return "";
 }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读