【Android】全角字符半角字符工具类
2019独角兽企业重金招聘Python工程师标准>>>
package a.b.c;/** * 半角、全角文字处理工具类 * */
public class DbcSbcUtils { /** * 半角、全角字符判断 * * @param c * 字符 * @return true:半角; false:全角 */ public static boolean isDbcCase(char c) { // 基本拉丁字母(即键盘上可见的,空格、数字、字母、符号) if (c >= 32 && c <= 127) { return true; } // 日文半角片假名和符号 else if (c >= 65377 && c <= 65439) { return true; } return false; } /** * 字符串长度取得(区分半角、全角) * * @param str * 字符串 * @return 字符串长度 */ public static int getLength(String str) { int len = 0; for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if (isDbcCase(c)) { // 半角 len = len + 1; } else { // 全角 len = len + 2; } } System.out.println("#### LEN ="+len); return len; } /** * 字符串截取(区分半角、全角) * * @param str * 字符串 * @param limit * 长度 * @return */ public static String getPatStr(String str, int limit) { if (getLength(str) <= limit) {return str;}
// limit = limit - 4;char[] chars = str.toCharArray(); int charLenSum = 0; String result = ""; for (int i = 0; i < chars.length; i++) { int charLen = isDbcCase(chars[i]) ? 1 : 2; if (charLenSum + charLen > limit) { return result + "..."; } charLenSum += charLen; result += chars[i]; if (charLenSum == limit) { return result + "..."; } } return ""; } public static void main(String[] args) { System.out.println(getPatStr("全角文字", 10)); System.out.println(getPatStr("全角文字判", 10)); System.out.println(getPatStr("全角文字12", 10)); System.out.println(getPatStr("全角文字123", 10)); System.out.println(getPatStr("12345678901234567890", 14)); System.out.println(getPatStr("一二三四五六七八九十", 14)); }
}
转载于:https://my.oschina.net/u/2273965/blog/674588
【Android】全角字符半角字符工具类相关推荐
- Java实现全角和半角字符相互转换
平凡也就两个字: 懒和惰; 成功也就两个字: 苦和勤; 优秀也就两个字: 你和我. 跟着我从0学习JAVA.spring全家桶和linux运维等知识,带你从懵懂少年走向人生巅峰,迎娶白富美! 关注微信 ...
- Java全角、半角字符的关系以及转换
如果搞明白了Java中全角字符和半角字符之间的关系,那他们之间的转换就不是个麻烦事儿.你只需要对这个关系有那么一个印象就足够了. 全角字符与半角字符的关系 通过下面的代码能看到Java中所有字符以及对 ...
- java 全角_Java全角、半角字符的关系以及转换
如果搞明白了Java中全角字符和半角字符之间的关系,那他们之间的转换就不是个麻烦事儿.你只需要对这个关系有那么一个印象就足够了. 全角字符与半角字符的关系 通过下面的代码能看到Java中所有字符以及对 ...
- SQL Server中全角和半角字符的比较问题
/*------------------------------------------------------------------------------------ /*欢迎转载,请保留本声明 ...
- java全角数字_Java全角、半角字符的关系以及转换
如果搞明白了Java中全角字符和半角字符之间的关系,那他们之间的转换就不是个麻烦事儿.你只需要对这个关系有那么一个印象就足够了. 全角字符与半角字符的关系 通过下面的代码能看到Java中所有字符以及对 ...
- java 全角_java全角、半角字符的关系以及转换详解
如果搞明白了Java中全角字符和半角字符之间的关系 那他们之间的转换根本就不是个事. 全角字符与半角字符的关系 可以通过下面的程序看看Java中所有字符以及对应编码的值 public static v ...
- PHP全角和半角字符怎么区分,php字符串处理之全角半角转换,php字符串全角半角_PHP教程...
php字符串处理之全角半角转换,php字符串全角半角 半角全角的处理是字符串处理的常见问题,本文尝试为大家提供一个思路. 一.概念 全角字符unicode编码从65281~65374 (十六进制 0x ...
- Java 全角与半角字符的转换
1.什么是全角和半角? -- 百度百科 1)全角(Full-width):是一种电脑字符,是指一个全角字符占用两个标准字符(或两个半角字符)的位置.全角占两个字节(16位). 汉字字符和规定了全角的英 ...
- PHP全角和半角字符怎么区分,学习猿地-php如何实现全角符号转半角
php实现全角符号转半角的方法:首先创建一个PHP示例文件:然后定义一个"SBC_DBC($str,$args2=1) {...}"方法:最后通过"str_replace ...
- c语言判断全角和半角字符,对于字符串中全角字符和半角字符的判断
先拿空格来说: public class Test { private String regex = "^[//u0020//u3000]*$"; public boolean ...
最新文章
- 编写函数求两个整数 a 和 b 之间的较大值。要求不能使用if, while, switch, for, ?: 以 及任何的比较语句。...
- Java HashMap的死循环的启示
- [七月挑选]Tomcat使用命令行启动之指定jdk版本
- 面对不同的业务场景,选择零码还是低码?
- 第k小的数(二分、partition)
- SQL Server中的联合主键、聚集索引、非聚集索引、mysql 联合索引
- 【全家福】多项式的各种板子
- Intellij IDEA 设置字体的大小
- 计算机怎么给表格添加蓝色边框,excel表格蓝色边框锁定|excel如何选择多个下拉菜单中的选项?...
- 如何修改github博客主题
- 新视角 | 新形势下工厂设备管理的5大误区
- 联想微型计算机c325参数,联想一体机c325性能表现 联想一体机c325配置参数
- 磁共振检查头部能检测出什么_头部核磁共振可以检查什么?
- vue 使用 currency.js 处理 小数的相加减 精度问题
- nyoj 1的个数 514 (数学)
- nodejs express搭建服务器(爬虫知乎精华帖,个人学习用)六 在express中建立路由
- Windows 10 配置OpenGL ES 3.0 环境
- 51Nod基础组(Python)
- antd modal 拖动_antd的Modal可移动(可拖拽)
- 超实用web前端开发工具推荐(web开发+前端性能优化+浏览器兼容性测试+……)