在显示字符串的时候,避免字符串过长往往会对字符串进行截取操作,通常会用到js的 substr 或者 substring方法, 以及 字符串的length属性 substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符. substring() 方法用于提取字符串中介于两个指定下标之间的字符. 对于非中文的字符串处理是很简单的,但是中文字符的 length  属性值 是1  而不是 2 ,所以处理就不是很友好了.    例如  你有一个字符串   'abcdefg' 和   '…
1.StringBuffer的替换功能: public StringBuffer replace(int start,int end,String str):从start开始到end用str替换 public class StringBufferDemo { public static void main(String[] args) { // 创建字符串缓冲区对象 StringBuffer sb = new StringBuffer(); // 添加数据 sb.append("hello&qu…
1. StringBuffer的截取功能: public String subString(int Start): public String subString(int Start, int end):包含首,不包含尾 返回类型是String类型,和前面几个功能不一样,本身没有发生变化. 2. 案例演示: package cn.itcast_06; /* * StringBuffer的截取功能:注意返回值类型不再是StringBuffer本身了 * public String substrin…
简单的需求 临近下班,小明忙完了今天的任务,正准备下班回家. 一条消息闪烁了起来. "最近发现公众号的拼写检查功能不错,帮助用户发现错别字,体验不错.给我们系统也做一个." 看着这条消息,小明在内心默默问候了一句. "我 TND 的会做这个,就直接去人家总部上班了,在这受你的气." "好的",小明回复到,"我先看看" 今天,天王老子来了我也得下班,耶稣也留不住. 小明想着,就回家了. 冷静分析 说到这个拼写检查,小明其实是知道…
//截取字符串长度(中文2个字节,半个中文显示一个) public String subTextString(String str,int len){ if(str.length()<len/2)return str; int count = 0; StringBuffer sb = new StringBuffer(); String[] ss = str.split(""); for(int i=1;i<ss.length;i++){ count+=ss[i].getB…
网站制作过程中,提示层文字超出,需要JS做字符串截取,但是呢,我们常常会烦恼文字中英文混合如何判断,因为我们知道在JS中 string.length这个值是不考虑中英文的,但是计算机对中英文的识别是 中文占2个字符,英文一个字母占一个字符(包括数字).查阅相关资料后,最近找到一个好的办法解决此问题. 分析下逻辑,比如我们要对字符串截取10个字(英文就是20个字符),创建一个函数 view plaincopy to clipboardprint? function SetSub(str,n){ /…
好几天没写博客了,其实有好多需要总结的,因为最近一直在忙着做项目,但是困惑了几天的Smarty模板中截取包含中英文混合的字符串乱码的问题,终于解决了,所以记录下来,需要的朋友看一下: 出现乱码的原因: 对于字符串的截取,truncate函数只适合英文用户,对与中文用户来说,使用 truncate会出现乱码,而且对于中文英文混合串来说,截取同样个数的字符串,实际显示长度上却不同,一个中文的长度大致相当于两个英文的长度.此外,truncate不能同时兼容GB2312.UTF-8等编码. 解决方法:自…
参考博客:UTF8字符串在lua的截取和字数统计[转载] 需求 按字面个数来截取子字符串 函数(字符串, 开始位置, 截取长度) utf8sub(,) = 好1世界哈 utf8sub(,) = 你好1世界 utf8sub(,) = 你好世界1 utf8sub(,) = utf8sub(,) = pø你好p 错误方法 网上找了一些算法, 都不太正确; 要么就是乱码, 要么就是只考虑了4 byte 中文的情况, 不够全面 1. string.sub(s,1,截取长度*4) 网上很多直接使用"`&qu…
javascript截取字符串(支持中英文混合) <script type="text/javascript"> var sub=function(str,n){ var r=/[^\x00-\xff]/g; if(str.replace(r,"mm").length<=n){return str;} var m=Math.floor(n/2); for(var i=m;i<str.length;i++){ if(str.substr(0,i…
1.字符串长度 PHP获取中英文混合字符串长度的实现代码如下,1中文=1位,2英文=1位,可自行修改 /** * PHP获取字符串中英文混合长度 * @param $str string 字符串 * @param $$charset string 编码 * @return 返回长度,1中文=1位,2英文=1位 */ function strLength($str,$charset='utf-8'){ if($charset=='utf-8') $str = iconv('utf-8','gb23…