知识大全 Java精确截取字符串

Posted 长度

篇首语:学向勤中得,萤窗万卷书。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java精确截取字符串相关的知识,希望对你有一定的参考价值。

Java精确截取字符串  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  Java精确截取字符串 取得字符串前面指定长度字符函数

  用java取得字符串的前面部分内容的函数contentStr = contenttemp substring( ) 其中要保证最大长度不能超过字符串的长度 下面是我的实现部分代码 以及网上搜索的相关代码

  /* * content内容过长可能会导致xml文件过大 加载太慢

  * 但从seo的角度考虑全部输出有利于搜索引擎 但一般情况下内容也不会太多* 为防止空格换行css无法控制撑大页面 用正则表达式替换掉空格 所以截取前面 个字符 页面显示的内容多少用css控制*zdz的作品 流风的作品*/ //str trim() replaceAll( \\\\s+ ) String contenttemp = rs getString(contentName) trim() replaceAll( \\\\s+ ) //NpfDebug print(contenttemp length()) if(contenttemp length()> )//如果长度大于 则截取contenttemp = contenttemp substring( ) //NpfDebug print( contenttemp length()> ? +contenttemp length()+ \\n +contentStr) rsbody append(beforCONTENT) rsbody append(contenttemp) rsbody append(endCONTENT) 开发中经常遇到 字符串过长 无法完全显示的问题

  这时候就需要截取我们所需要的长度 后面显示省略号或其他字符

  由于中文字符占两个字节 而英文字符占用一个字节 所以 单纯地判断字符数 效果往往不尽如人意

  下面的方法通过判断字符的类型来进行截取 效果还算可以 )

  如果大家有其他的解决方法欢迎贴出来 共同学习 )

  private String str private int counterOfDoubleByte private byte b[] /** * 设置需要被限制长度的字符串* @param str 需要被限制长度的字符串*/ public void setLimitLengthString(String str) this str = str /** * @param len 需要显示的长度(<font color= red >注意 长度是以byte为单位的 一个汉字是 个byte</font>)

  * @param symbol 用于表示省略的信息的字符 如 …… >>> 等

  * @return 返回处理后的字符串*/ public String getLimitLengthString(int len String symbol) throws UnsupportedEncodingException counterOfDoubleByte = b = str getBytes( GBK ) if(b length <= len)

  return str for(int i = i < len i++) if(b[i] < )

  counterOfDoubleByte++ if(counterOfDoubleByte % == )

  return new String(b len GBK ) + symbol else return new String(b len GBK ) + symbol

  ——————————————————-

  /** *//** * 按字节长度截取字符串* @param str 将要截取的字符串参数* @param toCount 截取的字节长度* @param more 字符串末尾补上的字符串* @return 返回截取后的字符串*/ public String substring(String str int toCount String more) …… int reInt = String reStr = if (str == null)

  return char[] tempChar = str toCharArray() for (int kk = (kk < tempChar length && toCount > reInt) kk++) …… String s = str valueOf(tempChar[kk]) byte[] b = s getBytes() reInt += b length reStr += tempChar[kk] if (toCount == reInt || (toCount == reInt ))

  reStr += more return reStr

  =================

  /** * 取字符串的前toCount个字符* * @param str 被处理字符串* @param toCount 截取长度* @param more 后缀字符串* @version * @author zhulx * @return String */ public static String substring(String str int toCount String more)

   int reInt = String reStr = if (str == null)

  return char[] tempChar = str toCharArray() for (int kk = (kk < tempChar length && toCount > reInt) kk++) String s = str valueOf(tempChar[kk]) byte[] b = s getBytes() reInt += b length reStr += tempChar[kk] if (toCount == reInt || (toCount == reInt ))

  reStr += more return reStr 得到字符串真实长度和取固定长度的字符串函数

  // 截取固定长度子字符串 sSource为字符串iLen为长度function getInterceptedStr(sSource iLen)

   if(sSource replace(/[^\\x \\xff]/g xx ) length <= iLen)

   return sSource var ELIDED =

  var str = var l = var schar for(var i= schar=sSource charAt(i) i++)

   str += schar l += (schar match(/[^\\x \\xff]/) != null ? ) if(l >= iLen ELIDED length)

   break str += ELIDED

cha138/Article/program/Java/hx/201311/25900

相关参考

知识大全 Oracle字符串截取

Oracle字符串截取  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  关于Oracle里面的一些

知识大全 C#字符串截取方法

C#字符串截取方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ///<summary&

知识大全 ASP.NET字符串截取的使用方法

ASP.NET字符串截取的使用方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!两个截取字符串的实

知识大全 MySQL截取字符串函数方法

MySQL截取字符串函数方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 php字符串截取的简单方法

这篇文章介绍了php字符串截取的简单方法有需要的朋友可以参考一下 复制代码代码如下:strpos(stringfindstart)  实例复制代码代码如下:<?php ech

知识大全 [DataGird]如何截取过长的字符串

[DataGird]如何截取过长的字符串  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  这段代码

知识大全 ASP.NET两个截取字符串的实用方法技巧

ASP.NET两个截取字符串的实用方法技巧  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!两个截取字

知识大全 MySQL截取字符串函数方法[2]

数据库工程师:MySQL截取字符串函数方法[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&n

知识大全 MySQL截取字符串函数方法[1]

数据库工程师:MySQL截取字符串函数方法[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&n

知识大全 C#中文字符截取函数

C#中文字符截取函数  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ///str_value字符