Java实现按字节长度截取字符串
2010-12-10 00:33
706 查看
Java实现按字节长度截取字符串
当给一个包含英文和汉字的字符串时,如:
String str="china中国china";
有时候需要按字节长度截取字符串,当要截取6个字节时,不能只截取“china”和“中”的一半,这时候就需要做处理。
方法:使用String的matches("[/u4e00-/u9fa5]")判断每个字符是不是汉字。
下面代码的实现方式不是很好。。
当给一个包含英文和汉字的字符串时,如:
String str="china中国china";
有时候需要按字节长度截取字符串,当要截取6个字节时,不能只截取“china”和“中”的一半,这时候就需要做处理。
方法:使用String的matches("[/u4e00-/u9fa5]")判断每个字符是不是汉字。
下面代码的实现方式不是很好。。
public class SplitString { public static void main(String[] args) throws Exception { String str = "c中国chin受到腐蚀的 sfssfssdf ese"; // System.out.println(SplitString.bSubstring(str, 1)); SplitString.Split(str,3); } public static String Split(String str,int length){ StringBuilder sb = new StringBuilder(); //这里将要截取的字节的长度转化为字符串要截取的长度 for (int i = 0; i < length; i++) { //判断每个字符是不是汉字 if (str.substring(i, i + 1).matches("[/u4e00-/u9fa5]")) { //是汉字,则占两个字节要截取的length-1 //例如:当要截取4个字节的"c中国china" 则需要截取3个字符的长度的"c中国china"--结果为:"c中国" length--; sb.append(str.subSequence(i, i + 1)); } else { sb.append(str.subSequence(i, i + 1)); } } System.out.println(sb.toString()); return sb.toString(); } }
相关文章推荐
- 用Java实现按字节长度截取字符串的方法
- 用Java实现按字节长度截取字符串
- 用Java实现按字节长度截取中英文数字字符串的方法总结
- Java实现按字节长度截取字符串的方法
- 用Java实现按字节长度截取字符串的方法
- 用Java实现按字节长度截取中英文数字字符串的方法总结
- 用Java实现按字节长度截取字符串的方法
- Java实现按字节长度截取字符串
- Java实现按字节长度截取字符串的方法
- Java实现按字节长度截取字符串的方法
- 用Java实现按字节长度截取中英文数字字符串的方法总结
- 用Java实现按字节长度截取字符串的方法
- Java按字节长度截取字符串
- Java按字节长度截取字符串
- Java实现字节数组中截取指定长度数组元素
- Java按字节截取字符串(GBK编码、UTF-8编码实现)
- Java按字节长度截取字符串之二
- C#中实现截取固定长度字节数的字符串
- java 实现截取字符串并按字节分别输出实例代码
- java中按字节数的长度来截取字符串,并以...来忽略