代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
半角、全角文字处理工具类
作者:
dezaicn
/ 发布于
2015/9/22
/
421
/** * 半角、全角文字处理工具类 * * @author 陳峰 */ 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; } } return len; } /** * 字符串截取(区分半角、全角) * * @param str * 字符串 * @param limit * 长度 * @return */ public static String left(String str, int limit) { if (getLength(str) <= limit) { return str; } 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(left("全角文字", 10)); System.out.println(left("全角文字判", 10)); System.out.println(left("全角文字12", 10)); System.out.println(left("全角文字123", 10)); System.out.println(left("全角文字判a", 10)); System.out.println(left("全角文字判断", 10)); } }
试试其它关键字
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
dezaicn
贡献的其它代码
(
45
)
.
生成字符串的 CheckSum
.
a标签屏蔽href跳转
.
将文本框的值插入指定位置
.
快速查找所有存储过程中是否包含某字符
.
将指定网页保存为Excel
.
获取html5 audio 音频时长方法
.
全角、半角转换
.
将DateTimePicker控件清空
.
使datetimepicker为空值
.
字符串处理(全角转半角,半角转换全角)
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3