java和Js 按字节来截取字符串长度(为了符合数据库varchar)
2011-07-21 15:33
489 查看
/** * 截取符合oracle varchar长度的字符集 * * @author 陈兵 * */ public class SplitString { public static String subStringByByte(String str,int byteNum) throws Exception { byte bt[] = str.getBytes(); System.out.println(" Length of this String ===> " + bt.length ); if (byteNum >= 1) { if (byteNum > bt.length ){ String substrx = new String(bt, 0, bt.length); return substrx; } else{ String substrex = new String(bt, 0, byteNum); return substrex; } } else { System.out.println("输入错误!!!请输入大于零的整数:"); throw new Exception(); } } public static void main(String[] args){ String str = "我我我ABC汉DEF我我我ABC汉DEF我我我ABC汉DEF我我我ABC汉DEF我我我ABC汉DEF我我我ABC汉DEF我我我ABC汉DEF我我我ABC汉DEF我我我ABC汉DEF我我我ABC汉DEF我我我ABC汉DEF我我我ABC汉DEF我我我ABC汉DEF我我我ABC汉DEF我我我ABC汉DEF我我我ABC汉DEF我我我ABC汉DEF"; for(int i=1;i<=100;i++){ try { String res = subStringByByte(str, i); System.out.println(res); } catch (Exception e) { // TODO 自动生成 catch 块 e.printStackTrace(); } } } }JS的截取方法:
function substr(str, len) { if( ! str || ! len) { return ''; } // 预期计数:中文2字节,英文1字节 var a = 0; // 循环计数 var i = 0; // 临时字串 var temp = ''; for (i = 0; i < str.length; i ++ ) { if (str.charCodeAt(i) > 255) { // 按照预期计数增加2 a += 2; } else { a ++ ; } // 如果增加计数后长度大于限定长度,就直接返回临时字符串 if(a > len) { return temp; } // 将当前内容加到临时字符串 temp += str.charAt(i); } // 如果全部是单字节字符,就直接返回源字符串 return str; }
相关文章推荐
- java按字节长度截取字符串
- Java实现按字节长度截取字符串
- js通过字节长度截取中英文混合字符串
- Java按字节长度截取字符串(支持截取带HTML标签的字符串,并自动补全)工具类
- 用Java实现按字节长度截取中英文数字字符串的方法总结
- Java按字节长度截取字符串之二
- 用Java实现按字节长度截取中英文数字字符串的方法总结
- 用Java实现按字节长度截取字符串
- js截取指定字节长度的字符串
- Java实现按字节长度截取字符串的方法
- 字符串截取指定长度字节数(Java方法实例,注:同样思路js也适用)
- Java按字节长度截取字符串
- 用Java实现按字节长度截取字符串的方法
- 用Java实现按字节长度截取字符串的方法
- Java字符串按字节数截取长度
- 用Java实现按字节长度截取字符串的方法
- Java按字节长度截取字符串
- 用Java实现按字节长度截取字符串的方法
- Java按字节长度截取字符串
- Java实现按字节长度截取字符串的方法