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

截取字符串 汉语按两个字符长度处理情况

2012-10-20 
截取字符串 中文按两个字符长度处理情况public class SubStringTest {/** ** @param src 源字符串 * @para

截取字符串 中文按两个字符长度处理情况

public class SubStringTest {/** *  * @param src 源字符串 * @param subLength   需要截取的长度 * @return */public static String subString(String src, int subLength) {if(src == null){return null;}if(subLength == 0){return "";}StringBuffer sb = new StringBuffer();char[] chars = src.toCharArray();for (char a : chars) {if (isContinueAppend(sb, a, subLength)) {sb.append(a);}else{break;}}return sb.toString();}/** *  * @param sb 已截到的字符串 * @param a  当前要被装进sb的字符 * @param subLength  需要截取的长度 * @return */public static boolean isContinueAppend(StringBuffer sb, char a,int subLength) {int currentLength = 0;for (char temp : sb.toString().toCharArray()) {currentLength += (temp >> 8 == 0) ? 1 : 2;}return (currentLength + (a >> 8 == 0 ? 1 : 2)) <= subLength;}public static void main(String[] args) {System.out.println(subString("我是一a个中国人",7));}}

热点排行