====================================
带...的字符串截取,保证所有字符长度(中文算2)不超过max:

例:
left("abcdefg", 7)="abcdefg"
left("abcdefg", 6)="abc..."
left("中文abcdefg", 9)="中文ab..."

package com.crackj2ee.util;

/**
* @author Xuefeng, asklxf@163.com
*/
public class StringUtil {

public static String left(String s, int max) {
char[] cs = s.toCharArray();
int count = 0;
int last = cs.length;
for(int i=0; i<cs.length; i++) {
if(cs[ i ]>255)
count+=2;
else
count++;
if(count>max) {
last = i+1;
break;
}
}
if(count<=max) // string is short or just the size!
return s;
// string is too long:
max -= 3;
for(int i=last-1; i>=0; i--) {
if(cs[ i ]>255)
count-=2;
else
count--;
if(count<=max) {
return s.substring(0, i) + "...";
}
}
return "...";
}
}
……
【阅读全文】

转载于:https://www.cnblogs.com/dkblog/archive/2007/07/10/1980882.html

收集java精确截取字符串相关推荐

  1. Java --循环截取字符串

    2019独角兽企业重金招聘Python工程师标准>>> 最近做工程时,遇到需要循环截取字符串的情况,写一篇日记,记录处理方法. 需求 从数据库取回来的数据格式如下: 西南-零起点-香 ...

  2. java substring截取字符串_java基础教程之字符串的介绍,比较重要的一个知识点【下】...

    字符串操作 1.获取子字符串 通过String类的substring()方法可对字符串进行截取.这些方法的共同点就是都是利用字符串的下标进行截取.应明确字符串下标是从0开始的. substring() ...

  3. java 循环截取字符串_Java --循环截取字符串

    最近做工程时,遇到需要循环截取字符串的情况,写一篇日记,记录处理方法. 需求 从数据库取回来的数据格式如下: 西南-零起点-香年广场店-煎饼侠 即  有效字符串1-有效字符串2-有效字符串3 --. ...

  4. java js 截取字符串,js截取字符串的三种方法

    JS提供三个截取字符串的方法,分别是:slice(),substring()和substr(),它们都可以接受一个或两个参数: var stmp = "rcinn.cn";使用一个 ...

  5. Java中截取字符串中小数点前面的字符

    1.通过下标获取 String number = "2563.2154";int index = number.indexOf(".");String intN ...

  6. java js 截取字符串_js截取字符串的方法

    JS提供两个截取字符串的方法,分别是:slice()和substring() slice和substring都可以接受一个或两个参数,第1个参数是获取要截取的字符串的直始位置,第2个参数如果不为空则是 ...

  7. java js 截取字符串_JavaScript:在JS中截取字符串的方法

    这篇主要说一说截取字符串的方法,用于帮助自己缕清方法的作用,参数的意义,返回值,是否对于原来的字符串进行了操作等. 在javascript中,常见的截取字符串的方法有slice().substring ...

  8. java中截取字符串的方式

    1.length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); int len=s.length(); 2.ch ...

  9. java substring截取字符串_lt;12gt;深入了解字符串

    深入了解字符串 完整视频教程: Java轻松入门经典教程[柠檬学院]-学习视频教程-培训课程-腾讯课堂​ke.qq.com 字符串主要用于编程,用于概念说明.函数解释.用法详述等,字符串在存储上类似于 ...

  10. java js 截取字符串_java和Js 按字节来截取字符串长度(为了符合数据库varchar)

    /** * 截取符合oracle varchar长度的字符集 * * @author 陈兵 * */ public class SplitString { public static String s ...

最新文章

  1. Elasticsearch之分词
  2. 台式计算机无线设置,台式电脑怎么设置无线网络?
  3. 最权威北美放射学会年会回顾:AI的进化与下一个前沿
  4. css:position
  5. 【Linux】一步一步学Linux——dpkg-query命令(271)
  6. 脑残式网络编程入门(一):跟着动画来学TCP三次握手和四次挥手
  7. 记录——《C Primer Plus (第五版)》第九章编程练习第二题
  8. crm2011创建批量删除作业
  9. AudioToolbox音效播放
  10. Python输入输出详解
  11. 程序员,成为北京人,只差月薪 7w 了。
  12. OTFS Channel Estimation(1)
  13. Magick 使用注意
  14. matlab求两向量夹角_matlab入门练习
  15. 【线段树】超市促销 rqnoj572
  16. Burpsuite介绍及2022.8.2版本超详细安装教程(图文版)
  17. TSINGSEE青犀视频开发安全帽智能检测识别经验分享
  18. 新型机房建设的优点有哪些?
  19. csdn 怎么 找到 草稿箱
  20. 疾风之刃的最新服务器,疾风之刃6月16日更新 数据互通服务器一览

热门文章

  1. Sql Server对时间(月、周)的操作
  2. GDB使用gdb-stl-views打印STL容器元素
  3. (day 34 - 哈希表 or 双指针 )剑指 Offer 57. 和为s的两个数字
  4. linux运维必学python吗_Python学习资源整理
  5. CSS:实现跳动小球蒙版效果
  6. 实战HTML:花瓣网
  7. php字符串转openssl格式,将OpenSSL生成的RSA公钥转换为OpenSSH格式(PHP)
  8. 使用Standford coreNLP进行中文命名实体识别(NER)
  9. JDK中IdentityHashMap使用详解
  10. DataTable多表合并 同结构和不同结构的合并