orangeyxj
发贴: 45
积分: 0
|
于 2005-04-04 16:59
我想在一个中英文混合的字符串中截取部分字符,如 “java是我现在学的东西”。有这么一个方法: public static String substring(String str, int toCount,String more) { int reInt = 0; String reStr = ""; if (str == null) return ""; char[] tempChar = str.toCharArray(); for (int kk = 0; (kk < tempChar.length && toCount > reInt); kk++) { String s1 = str.valueOf(tempChar[kk]); byte[] b = s1.getBytes(); reInt += b.length; reStr += tempChar[kk]; } if (toCount == reInt || (toCount == reInt - 1)) reStr += more; return reStr; } 虽然可以保证截取的不会是乱码,但是在这里汉字是占两个字节,例如我想取6个字符,取出的是 “java是”,如果取5个字符,就仅仅是“java”, 能不能做到这样:取六个字符,取出的就是 “java是我”,就是把汉字当作一个字符来处理。说得有点乱,请见谅。 先谢谢了
|