首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

按指定长度截取字符串,思忖全角半角

2012-09-14 
按指定长度截取字符串,考虑全角半角// 按指定的长度来截取字符串,不管全角半角,一个字符一个长度。public s

按指定长度截取字符串,考虑全角半角

// 按指定的长度来截取字符串,不管全角半角,一个字符一个长度。public static String subByStrLength(String value, int length) {return value.length() > length ? new String(value.substring(0, length)) : value;}// 按指定的长度来截取字符串,前提是字符串是全角的,指定长度是大于0的偶数。public static String subByFullWidth(String value, int length) {return value.getBytes().length > length ? new String(value.getBytes(), 0, length) : value;}// 按指定的长度下,考虑字符的全角半角,且当舍掉最后半个汉字后,长度不足的情况下是否要在右边补空格。public static String subByStrByte(String value, int length, boolean paddingSpace) {String valueTemp = "";// 指定的长度下,考虑字符的全角半角,最后的汉后。if (value.getBytes().length > length) {for (char c : value.toCharArray()) {if (valueTemp.getBytes().length <= length) {valueTemp += c;if (valueTemp.getBytes().length == length) {break;} else if (valueTemp.getBytes().length > length) {char[] charTemp = valueTemp.toCharArray();valueTemp = "";for (int i = 0; i < charTemp.length - 1; i++) {valueTemp += charTemp[i];}break;}}}}// 指定的长度下,长度不足的情况是否要在右边补空格。if (paddingSpace) {StringBuffer valueBuffer = new StringBuffer(valueTemp);for (int i = 0; i < length - valueTemp.getBytes().length; i++) {valueBuffer.append(" ");}return valueBuffer.toString();}return valueTemp;}// 字符串的截取测试public static void main(String[] args) {String str1 = "字符串的截取";String str2 = "字符串的截取test";System.out.println(subByStrByte(str2, 7, true));System.out.println(subByStrByte(str2, 7, false));System.out.println(subByStrLength(str2, 7));System.out.println(subByFullWidth(str1, 6));}

字符串的截取t

字符串

?

热点排行