`
liuyanyinghappy
  • 浏览: 11552 次
  • 性别: Icon_minigender_2
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

全角字符串的截取方法

阅读更多
公司做的是日本人项目,平时经常需要对一些字符串的值进行指定位数的截取,里面又经常是一些全角、半角混合的类型,当截不予到指定位数刚好是一个全角时,就不得不考虑怎么处理了,通常是少截取一位,将全角以后的全去掉。
所以,每次用到每次都要找老的项目,比较烦琐,还好最近不是太忙,赶快整理一下,方便以后使用。
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#实现字符串全角半角转换类

    C#实现字符串全角半角转换类

    前后台实现精确截取指定长度字符串(考虑全角半角)

    前后台实现精确截取指定长度字符串(考虑全角半角)前后台实现精确截取指定长度字符串(考虑全角半角)前后台实现精确截取指定长度字符串(考虑全角半角)前后台实现精确截取指定长度字符串(考虑全角半角)

    Android开发、Bitmap 压缩相关操作、文件压缩、文件处理、图片处理、字符串处理等处理工具类

    Android开发、Bitmap 压缩相关操作...判断两字符串是否相等 判断两字符串忽略大小写是否相等 null转为长度为0的字符串 返回字符串长度 首字母大写 首字母小写 反转字符串 转化为半角字符 转化为全角字符)等处理工具类

    php截取字符串之截取utf8或gbk编码的中英文字符串示例

    微博的发言有字数限制,其计数方式是,中文算2个,英文算1个,全角字符算2个,半角字符算1个。php中自带strlen是返回的字节数,对于utf8编码的中文返回时3个,不满足需求。mb_strlen 可以根据字符集计算长度,比如...

    cli-truncate:在终端中将字符串截断为特定宽度

    气候截断在终端中将字符串截断为特定宽度优雅地处理。 像用造型的弦子。 它还支持Unicode代理对和全角字符。安装 $ npm install cli-truncate用法 const cliTruncate = require ( 'cli-truncate' ) ;cliTruncate ( '...

    string处理类大全,asp.net C#开发实用

    简介: 方法包括 构建SQL条件语句,用于简单构造 按当前日期和时间生成随机数 生成0-9随机数 通过...从字符串的指定位置截取指定长度的子字符串 .... 太多了.下载下来直接使用. asp.net C#开发实用

    JS按字节截取字符长度实例

    * * 处理过长的字符串,截取并添加省略号 * 注:半角长度为1,全角长度为2 * * pStr:字符串 * pLen:截取长度 * * return: 截取后的字符串 * 代码如下:function autoAddEllipsis(pStr, pLen) { var _ret = ...

    PHP HTML代码串 截取实现代码

    将一段文字截取一定的物理长度显示,注意,要截取的不是字符串的字节数,UFT-8 的编码中文字符是3个字节或者4个字节的,而显示的时候中文会占两个字符的长度,英文字符只占一个,全角的时候又有不同。

    PHP中去掉字符串首尾空格的方法

    第一种方法:通过php自带... 第二种方法:通过正则表达式替换,功能更强 php去除字符串首尾空格(包括全角) 复制代码 代码如下: &lt;? $str=” 软件开发网 www.jb51.net     ”; $str = mb_ereg_replace(‘^( | )

    hive函数大全(中文版)

    6. 字符串截取函数:substr,substring 24 7. 字符串转大写函数:upper,ucase 24 8. 字符串转小写函数:lower,lcase 25 9. 去空格函数:trim 25 10. 左边去空格函数:ltrim 25 11. 右边去空格函数:rtrim 25 12. 正则...

    jQuery textarea文本框输入文字字数限制提示代码.zip

    * return: 截取后的字符串 */ function autoAddEllipsis(pStr, pLen) { var _ret = cutString(pStr, pLen); var _cutFlag = _ret.cutflag; var _cutStringn = _ret.cutstring; return _cutStringn; }...

    PHP HTML代码串截取代码

    需求:将一段文字截取一定的物理长度显示,注意,要截取的不是字符串的字节数,UFT-8 的编码中文字符是3个字节或者4个字节的,而显示的时候中文会占两个字符的长度,英文字符只占一个,全角的时候又有不同。

    PHP函数库,PHP函数大全,PHP函数实例,PHP函数手册,PHP5函数库实例

    截取字符串中两个特定唯一字符之间的内容 截取指定长度字符串 折线图 按照比例改变图片大小(非生成缩略图) 收藏主页 数据验证类 数组转换成XML格式 日期计算 是否为电子邮件格式 柱形统计图 检查是否为一...

    100个直接可以拿来用的JavaScript实用功能代码片段(1-10)

    1、原生JavaScript实现字符串长度截取 2、原生JavaScript获取域名主机 3、原生JavaScript清除空格 4、原生JavaScript替换全部 5、原生JavaScript转义html标签 6、原生JavaScript还原html标签 7、原生JavaScript时间...

    sqlserver2000基础(高手也有用)

    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与...

    经典SQL脚本大全

    │ │ 6.3.4 化解字符串不能超过8000的方法.sql │ │ 6.3.5 特殊的交叉报表处理示例.sql │ │ 6.4.1 库存明细帐处理示例(包含结存数).sql │ │ 6.4.1 库存明细帐处理示例.sql │ │ 6.4.2 同期及上期数据对比处理...

    收藏PHP常用函数 大部分收藏在内

    收藏PHP常用函数 大部分收藏在内,产生随机字符串函数 截取一定长度的字符串(该函数对GB2312使用有效) 取得客户端IP地址 判断邮箱地址 分页(两个函数配合使用) 获取新插入数据的ID //获得当前的脚本网址 //把...

    SQL SERVER 2000开发与管理应用实例

    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 ...

    Sqlserver2000经典脚本

    纵.sql │ 复杂年月处理.sql │ 统计--交叉表+日期+优先.sql │ ├─第03章 │ │ 3.2 各种字符串分拆处理函数.sql │ │ 3.3 各种字符串合并处理示例.sql │ │ 3.4.1 分段截取函数....

Global site tag (gtag.js) - Google Analytics