按字节截取含有中文汉字的字符串
2011-11-17 13:41
246 查看
public static void main(String[] args) throws UnsupportedEncodingException { // TODO Auto-generated method stub // 原始字符串 String s = "我ZWR爱J***A"; System.out.println("原始字符串:" + s); try { System.out.println("截取前1位:" + CutString.substring(s, 1)); System.out.println("截取前2位:" + CutString.substring(s, 2)); System.out.println("截取前4位:" + CutString.substring(s, 4)); System.out.println("截取前6位:" + CutString.substring(s, 6)); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } }
public static String substring(String orignal, int count) throws UnsupportedEncodingException{ if(!"".equals(orignal) && orignal != null){ // 将原始字符串转换为GBK编码格式 orignal = new String(orignal.getBytes(), "GBK"); if(count > 0 && count < orignal.length()){ StringBuffer sb = new StringBuffer(); char c; for (int i = 0; i < count; i++) { c = orignal.charAt(i); sb.append(c); if(isChineseChar(c)){ // 遇到中文汉字,截取字节总数减1 --count; } } return sb.toString(); } } return orignal; }
//判断是否是一个中文汉字 public static boolean isChineseChar(char c) throws UnsupportedEncodingException{ return String.valueOf(c).getBytes("GBK").length > 1; }
相关文章推荐
- 按字节截取含有中文汉字的字符串
- 按字节截取含有中文汉字的字符串的子串:给定字符串与(beginIndex , endIndex)
- 按字节截取含有中文汉字的字符串
- 输入字符串和字节数,截取子串(串中含有中文字符)
- C#、Java实现按字节截取字符串包含中文汉字和英文字符数字标点符号等
- 从一个包含汉字和其他字符的字符串中截取指定字节长度的字符串,不可以出现中文乱码
- php中按字节截取字符串方法,(汉字占两个字节,字母占一个字节,页面编码必须为utf-8)
- 截取字符串,汉字占两个字节,字母占一个字节
- C++ 区分中文,非中文,截取含有中文的string字符串 方法汇集
- 截取字符串,汉字占两个字节,字母占一个字节
- 编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,应该输出为"我ABC"而不是"我ABC+汉的半个"。
- 不区分汉字还是英文和数字,按指定字节长度截取字符串
- java按字节截取带有汉字的字符串的解法
- 截取字符串,汉字占两个字节,字母占一个字节
- C# 汉字的字符串截取指定字节的长度
- 编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”
- java截取含有汉字的字符串
- 编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。
- 如何实现按字节截取字符串(中文占2字节,英文占1字节,substring())?
- 获取包含中文,字母,数字集合的字符串的长度(1个汉字字符存储需要2个字节,1个英文字符存储需要1个字节)