当前位置:文档之家› java按字节截取字符串

java按字节截取字符串

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 = str.toCharArray();
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汉了!
}。

相关主题