通常我们在前端显示的时候,为了防止标题过长,常常需要对标题进行截取,其中中文占两个字节,英文字符占一个字节,我们需要按字节截取字符串,才能避免出现半个汉字的情况。那么如何实现Java按字节截取字符串呢?今天华清Java学院小编就和大家分享一下Java按字节截取字符串的具体实现代码。
代码如下:
/**
*截取指定字节长度的字符串,不能返回半个汉字
* 如果网页多能显示17个汉字,那么 length 则为 34
* StringTool.getSubString(str, 34);
* @param str
* @param length
* @return
*/
public class StringTool {
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 "";
}}
热点新闻