Java中按字节数截取字符串
2008-03-30 13:47
最近遇到一个在Java中按照字节数截取字符串的问题,由于中文跟英文单个字符长度不同故很容易出现问题。就这个问题,我也在网上搜过,但是发现网上的代码好多都存在问题:具体问题在这里由于时间的问题也就不在多说了。现在我将我自己做的并且经过测试了的代码贴到空间上面来以供参考: package test; /** * <p>Title: </p> * * <p>Description: </p> * * <p>Copyright: Copyright (c) 2008</p> * * <p>Company: </p> * * @author not attributable * @version 1.0 */ public class SplitString { /** * * @param str String 被截字符串 * @param bytes int 被截字符数 * @return String 返回字符串 */ public static String SplitString(String str, int bytes) { int count = 0; //统计字节数 String reStr = ""; //返回字符串 if (str == null) { return ""; } char[] tempChar = CharArray(); for (int i = 0; i < tempChar.length; i++) { String s1 = str.valueOf(tempChar[i]); byte[] b = s1.getBytes(); count += b.length; if (count <= bytes) { reStr += tempChar[i]; } } return reStr; } public static void main(String[] args) { String str = "我ABC汉DDFGH"; String s = SplitString(str, 6); System.out.println(s); //注:输出结果即为:我ABC 因为要截6个字符而一个中午占2个字符,但是一个汉字又不可能分成两半故输出结果会为:我ABC 如果截取的字符数为7的话那么结果就会是:我ABC汉 字符串长度截取 了! } |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论