Java截取字符串保证汉字不被截取半个

Java截取字符串保证汉字不被截取半个

public class SplitString {

public static void main(String[] args) {

String str = "我ABC汉DEF";

//str = split(str, 6);

str = truncate(str,7);

System.out.println(str);

}

public static String split(String arg0, int arg1) {

char[] carr = arg0.toCharArray();

int il = carr.length;

for (int i = 0; i < arg1 && i < il; i++) {

if (carr[i] > 0xFF) {

arg1--;

}

}

int x = arg1 > 0 ? arg1 : 0;

x = arg1 < il ? arg1 : il;

return arg0.substring(0, x);

}

public static String truncate(String str, int byteLength) {

if (str == null) {

return null;

}

if (str.length() == 0) {

return str;

}

if (byteLength < 0) {

throw new IllegalArgumentException("Parameter byteLength must be great than 0");

}

char[] chs = str.toCharArray();

int i = 0;

int len = 0;

while ((len < byteLength) && (i < chs.length)) {

len = (chs[i++] > 0xff) ? (len + 2) : (len + 1);

}

if (len > byteLength) {

i--;

}

return new String(chs, 0, i);

}

}

Js截取字符串保证汉字不被截取半个:

/**

* 截取字符串:一个汉字相当于两个英文或数字字符,汉字不被截取半个

* @param str:需要截取的字符串

* @param len:截取的长度(一个汉字占两个长度)

*/

function cutstr(str,len){

var str_length = 0;

var str_len = 0;

str_cut = new String();

str_len = str.length;

for(var i = 0;i

a = str.charAt(i);

str_length++;

if(escape(a).length > 4){//中文字符的长度经编码之后大于4

str_length++;

}

str_cut = str_cut.concat(a);

if(str_length>=len){

str_cut = str_cut.concat("...");

return str_cut;

}

}

//如果给定字符串小于指定长度,则返回源字符串;

if(str_length

return  str;

}

}

转自: http://www.blackswansoft.com/songhaikang/article/20110517220909230.html

java 半个汉字,Java截取字符串军令状汉字不被截取半个相关推荐

  1. java截取字符串后几位_java截取字符串后几位字符的方法

    java截取字符串后几位字符的方法: java中截取字符串中最后几个字符可以使用String类的substring方法,具体用法参考下方说明: 1.substring(int beginIndex)s ...

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

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

  3. js截取字符串区分汉字字母代码

    js截取字符串并且区分汉字字母,一个汉字辨别为两个字节. function substr(str, len) {if (!str || !len) {return '';}// 预期计数:中文2字节, ...

  4. mysql倒序截取字符串_MySQL数据库之mysql截取字符串与reverse函数

    本文主要向大家介绍了MySQL数据库之mysql截取字符串与reverse函数 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 这个网页上很多知识点,可以学习下,关于mysql的 ...

  5. php截取字符串后编码不对,php截取字符串出现中文乱码问题的解决

    在之前的文章中我们给大家接好了php截取字符串的实现,以及php截取中文字符串的使用,那么我们在截取中文字符串的时候,很多时候都会出现乱码的问题,那么我们今天就给大家介绍php截取字符串出现中文乱码问 ...

  6. python截取字符串函数substr_PHP substr():截取字符串

    在对字符串进行处理时,有时我们需要对字符串进行截取操作.在 PHP 中,截取字符串可以通过 PHP 的预定义函数 substr() 来实现,本节我们就来介绍一下 substr() 函数的使用. sub ...

  7. js截取字符串前几位或者截取字符串后几位

    经常会遇到后台反的时间是'2020-02-02 10:00:00',页面上需要只展示年月日或者只展示时分秒,那么最简单的方法就是返回过来的值直接截取一下即可. 如何截取前几位,案例如下 var dat ...

  8. js怎样截取字符串后几位以及截取字符串前几位

    截取字符串前几位var disName ='开心一族漂亮家园'; var shortName = disName.substring(0,5); console.log(shortName);//打印 ...

  9. mysql截取字符串去重_mysql函数之截取字符串

    练习截取字符串函数(五个) mysql索引从1开始 一.mysql截取字符串函数 1.left(str,index) 从左边第index开始截取 2.right(str,index)从右边第index ...

最新文章

  1. 连夜撸了一个简易聊天室
  2. 【Web全栈课程5】jsonp简单使用
  3. 如何水平居中一个元素
  4. 国内SAP从业者们2020年最想学习的SAP相关知识分类的调查问卷结果
  5. WebSen!NT的行业分类说明
  6. Java设计模式6:策略模式
  7. 「技术人生」第2篇:学会分析事物的本质
  8. 【短评】街边小吃虽然味道不错,但是长期只吃零食不吃正餐会让你的孩子营养不良...
  9. OptaPlanner 轻量级规划调度引擎
  10. 83. 验证码(1)
  11. python凯撒加密带大小写_python实现凯撒加密
  12. oracle删除行 锁表,oracle锁表
  13. (7)nodejs学习---之模板引擎jadeejs
  14. java bitset_Java1.8-BitSet源码分析
  15. mysql 申花球队面试题_mysql面试题练习01
  16. android怎么实现推送消息推送消息,Android实现系统消息推送
  17. 使用 SpringMail +163 邮箱 发送邮件的方法
  18. 批量注册163邮箱的代码
  19. vs,vs code,Dev
  20. SAINT:一个基于transformer的知识跟踪模型

热门文章

  1. 预训练语言模型整理(ELMo/GPT/BERT...)
  2. [ 数论 ] Codeforces896D
  3. 安装Spring报错An error occurred while collecting items to be installed
  4. 【3D图像分类】基于Pytorch的3D立体图像分类2--数据增强篇
  5. vscode 缩进快捷键 代码对齐快捷键
  6. Java后端学习框架(2020)
  7. 【爬虫】用Python爬取公司年报1
  8. java时间格式化取月份_Java格式化时间获取年月日
  9. Unity Shader入门精要第七章 基础纹理渐变纹理
  10. MT【340】彭塞列闭合定理