操作系统寒武纪 - 会让企业IT高兴吗?
927
2022-12-01
按字节截取含有中文汉字的字符串
public static void main(String[] args) throws UnsupportedEncodingException { // TODO Auto-generated method stub // 原始字符串 String s = "我ZWR爱JAVA"; 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; }
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~