金坤宁泡腾片价格:java 实现中英文混时得到长度 过长字符替换 - tianwaishan的专栏 - CS...

来源:百度文库 编辑:九乡新闻网 时间:2024/04/26 23:17:15

java 代码实现

 public static boolean isLetter(char c) { 
                 int k = 0x80; 
                 return c / k == 0 ? true : false; 
             } 
          
             /**
              * 得到一个字符串的长度,显示的长度,一个汉字或日韩文长度为2,英文字符长度为1
              * 
              * @param s 需要得到长度的字符串
              * @return i得到的字符串长度
              */ 
             public static int strlength(String s) { 
                 if (s == null) 
                     return 0; 
                 char[] c = s.toCharArray(); 
                 int len = 0; 
                 for (int i = 0; i < c.length; i++) { 
                     len++; 
                     if (!isLetter(c[i])) { 
                         len++; 
                     } 
                 } 
                 return len; 
             } 
          
             /**
              * 截取一段字符的长度,不区分中英文,如果数字不正好,则少取一个字符位
              * 
              * 
              * @param  origin 原始字符串
              * @param len 截取长度(一个汉字长度按2算的)
              * @param c 后缀           
              * @return 返回的字符串
              */ 
             public static String tosubstring(String origin, int len,String c) { 
                 if (origin == null || origin.equals("") || len < 1) 
                     return ""; 
                 byte[] strByte = new byte[len]; 
                 if (len > strlength(origin)) { 
                     return origin+c; 
                 } 
                 try { 
                     System.arraycopy(origin.getBytes("GBK"), 0, strByte, 0, len); 
                     int count = 0; 
                     for (int i = 0; i < len; i++) { 
                         int value = (int) strByte[i]; 
                         if (value < 0) { 
                             count++; 
                         } 
                     } 
                     if (count % 2 != 0) { 
                         len = (len == 1) ? ++len : --len; 
                     } 
                     origin="";
                     return new String(strByte, 0, len, "GBK")+c; 
                 } catch (UnsupportedEncodingException e) { 
                     throw new RuntimeException(e); 
                 } 
             }

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/tianwaishan/archive/2009/11/30/4908342.aspx

java 实现中英文混时得到长度 过长字符替换 - tianwaishan的专栏 - CS... 一个Dijkstra算法的完整Java程序实现,- brokencar的专栏 - CSDNBlog 点阵字库在JAVA中的实现 - ShaHuShaBoJue的专栏 - CSDN博客 Java版 工作流 实现技术大比拼 - eif6的专栏 - CSDN博客 Excel动画教程:字符替换 html 字符过长省略号表示 Word查找替换可使用的特殊字符大全 Endnote中英文混排解决方法(转载) 主要看替换的方法,并未实质解决 JAVA上加密算法的实现用 java屏幕取词的实现 gridview截取字符长度和日期显示格式 - 公子的日志 - 网易博客 通过代码实现EXE文件图标的替换 设置vi/vim实现打开不同字符编码的文件 java定时执行 - welkin8888的专栏 - CSDN博客 Effective Java 笔记(七) - ilibaba的专栏 - CSDNBlog Effective Java 笔记(二) - ilibaba的专栏 - CSDNBlog 编程实现字符串长度测量 SQL SERVER 数值类型的存储格式及转换 - misterliwei的专栏 - CS... Google的开源C++单元测试框架Google Test初探 - 常高伟的专栏 - CS... OpenGL内存泄漏之主循环函数glutMainLoop() - 阿荣的技术专栏 - CS... 从头开始编写操作系统(3) 第2章:基本理论 - xiaoxiaoyaya的专栏 - CS... java版本的二分法算法实现 - 24小时学习网 字符设备驱动程序及数据结构简介 - vincent_zou的专栏 - CSDN博客 文本分类入门(八)中英文文本分类的异同 - Jasper's Java Jacal - BlogJava