公司做的是日本人项目,平时经常需要对一些字符串的值进行指定位数的截取,里面又经常是一些全角、半角混合的类型,当截不予到指定位数刚好是一个全角时,就不得不考虑怎么处理了,通常是少截取一位,将全角以后的全去掉。
所以,每次用到每次都要找老的项目,比较烦琐,还好最近不是太忙,赶快整理一下,方便以后使用。
public static String fromatStringRightJIS(String strSource, int len){
if(LengthFormat.stringLength(strSource)>len){
String retStrTmp=LengthFormat.formatString(strSource,len+1);
if(LengthFormat.stringLength(retStrTmp.substring(retStrTmp.length()-1,retStrTmp.length()))>=2)
return LengthFormat.formatString(strSource,len-1);
else
return LengthFormat.formatString(strSource,len);
}else
return LengthFormat.formatString(strSource,len);
}
public static int stringLength(String strSource) {
StringBuffer strBuffer = new StringBuffer("");
if (strSource == null || strSource.equals("")) {
return 0;
} else {
try {
byte[] tmpBytes = strSource.concat(strBuffer.toString()).getBytes("SJIS");
return tmpBytes.length;
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
return 0;
}
public static String formatString(String strSource, int len) {
String rt = "";
StringBuffer strBuffer = new StringBuffer("");
for (int i = 0; i < len; i++) {
strBuffer.append(" ");
}
if (strSource == null || strSource.equals("")) {
rt = strBuffer.toString();
} else {
try {
byte[] tmpBytes = strSource.concat(strBuffer.toString()).getBytes("SJIS");
rt = new String(tmpBytes, 0, len, "Shift_JIS");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
return rt.toString();
}
分享到:
相关推荐
对全角半角字符串的处理,对全角半角字符串的处理,对全角半角字符串的处理
C#实现字符串全角半角转换类
前后台实现精确截取指定长度字符串(考虑全角半角)前后台实现精确截取指定长度字符串(考虑全角半角)前后台实现精确截取指定长度字符串(考虑全角半角)前后台实现精确截取指定长度字符串(考虑全角半角)
Android开发、Bitmap 压缩相关操作...判断两字符串是否相等 判断两字符串忽略大小写是否相等 null转为长度为0的字符串 返回字符串长度 首字母大写 首字母小写 反转字符串 转化为半角字符 转化为全角字符)等处理工具类
微博的发言有字数限制,其计数方式是,中文算2个,英文算1个,全角字符算2个,半角字符算1个。php中自带strlen是返回的字节数,对于utf8编码的中文返回时3个,不满足需求。mb_strlen 可以根据字符集计算长度,比如...
气候截断在终端中将字符串截断为特定宽度优雅地处理。 像用造型的弦子。 它还支持Unicode代理对和全角字符。安装 $ npm install cli-truncate用法 const cliTruncate = require ( 'cli-truncate' ) ;cliTruncate ( '...
简介: 方法包括 构建SQL条件语句,用于简单构造 按当前日期和时间生成随机数 生成0-9随机数 通过...从字符串的指定位置截取指定长度的子字符串 .... 太多了.下载下来直接使用. asp.net C#开发实用
* * 处理过长的字符串,截取并添加省略号 * 注:半角长度为1,全角长度为2 * * pStr:字符串 * pLen:截取长度 * * return: 截取后的字符串 * 代码如下:function autoAddEllipsis(pStr, pLen) { var _ret = ...
将一段文字截取一定的物理长度显示,注意,要截取的不是字符串的字节数,UFT-8 的编码中文字符是3个字节或者4个字节的,而显示的时候中文会占两个字符的长度,英文字符只占一个,全角的时候又有不同。
第一种方法:通过php自带... 第二种方法:通过正则表达式替换,功能更强 php去除字符串首尾空格(包括全角) 复制代码 代码如下: <? $str=” 软件开发网 www.jb51.net ”; $str = mb_ereg_replace(‘^( | )
6. 字符串截取函数:substr,substring 24 7. 字符串转大写函数:upper,ucase 24 8. 字符串转小写函数:lower,lcase 25 9. 去空格函数:trim 25 10. 左边去空格函数:ltrim 25 11. 右边去空格函数:rtrim 25 12. 正则...
* return: 截取后的字符串 */ function autoAddEllipsis(pStr, pLen) { var _ret = cutString(pStr, pLen); var _cutFlag = _ret.cutflag; var _cutStringn = _ret.cutstring; return _cutStringn; }...
需求:将一段文字截取一定的物理长度显示,注意,要截取的不是字符串的字节数,UFT-8 的编码中文字符是3个字节或者4个字节的,而显示的时候中文会占两个字符的长度,英文字符只占一个,全角的时候又有不同。
截取字符串中两个特定唯一字符之间的内容 截取指定长度字符串 折线图 按照比例改变图片大小(非生成缩略图) 收藏主页 数据验证类 数组转换成XML格式 日期计算 是否为电子邮件格式 柱形统计图 检查是否为一...
1、原生JavaScript实现字符串长度截取 2、原生JavaScript获取域名主机 3、原生JavaScript清除空格 4、原生JavaScript替换全部 5、原生JavaScript转义html标签 6、原生JavaScript还原html标签 7、原生JavaScript时间...
3.6 字符串在动态Transact-SQL语句中的应用 85 3.6.1 动态Transact-SQL语句概述 85 3.6.2 字符串在编号查询中的使用 87 3.6.3 动态参数存储过程 90 3.6.4 动态Transact-SQL语句中常见问题 92 3.7 text与...
│ │ 6.3.4 化解字符串不能超过8000的方法.sql │ │ 6.3.5 特殊的交叉报表处理示例.sql │ │ 6.4.1 库存明细帐处理示例(包含结存数).sql │ │ 6.4.1 库存明细帐处理示例.sql │ │ 6.4.2 同期及上期数据对比处理...
收藏PHP常用函数 大部分收藏在内,产生随机字符串函数 截取一定长度的字符串(该函数对GB2312使用有效) 取得客户端IP地址 判断邮箱地址 分页(两个函数配合使用) 获取新插入数据的ID //获得当前的脚本网址 //把...
3.6 字符串在动态Transact-SQL语句中的应用 85 3.6.1 动态Transact-SQL语句概述 85 3.6.2 字符串在编号查询中的使用 87 3.6.3 动态参数存储过程 90 3.6.4 动态Transact-SQL语句中常见问题 92 3.7 ...
纵.sql │ 复杂年月处理.sql │ 统计--交叉表+日期+优先.sql │ ├─第03章 │ │ 3.2 各种字符串分拆处理函数.sql │ │ 3.3 各种字符串合并处理示例.sql │ │ 3.4.1 分段截取函数....