`
huadi223
  • 浏览: 21148 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

以字节为单位,支持汉字双字节的subString

阅读更多

 

public static String subStringByByte(String str, int beginIndex, int endIndex) {
	if (beginIndex < 0) throw new StringIndexOutOfBoundsException(beginIndex);
	if (beginIndex > endIndex) throw new StringIndexOutOfBoundsException(endIndex - beginIndex);
	if (beginIndex == endIndex) return "";
	int byteLength = 0;
	String returnString = "";
	for (int i = 0; byteLength < endIndex && i < str.length(); i++) {
		char c = str.charAt(i);
		byteLength += (31 < c && c < 128) ? 1 : 2;
		if (byteLength > beginIndex)
			returnString += c;
	}

	return returnString;
}
分享到:
评论

相关推荐

    实现一个按字节来截取字符串的方法,功能类似于string类的substring方法,

    实现一个按字节来截取字符串的方法,功能类似于string类的substring方法,String类是按字符截取 的,例如"中国abc".substring(1,3),将返回“国a”。这里 要求按字节截取,一个英文字符当一个字节,一个中文字符当两...

    类似subString

    疯狂java讲义第四章作业题,按字节截取一个字符串,遇到汉字的时候会告诉你是哪个汉字的哪个字节

    自定义EL函数解决JSTL标签不足之处——按字节长度截取字符串

    做过大型网站前台的Web开发程序员最头疼的事情就是前台首页的布局,这其中最最头疼的就是标题字符的截取的问题,虽然有fn:substring,但表现率以及对中文的支持均不够完善,其实最终还是归结为客户要求太高了,不过...

    深入SQL截取字符串(substring与patindex)的详解

    SUBSTRING ( expression , start , length ) expression:字符串、二进制字符串、text、image、列或包含列的表达式start:整数,指定子串的开始位置 注:SQL中”1″表示字符串中的第一个字符,而.NET中”0″表示第一个...

    SQL_Sever数据库常用语句大全.zip

    datalength返回双字符串字节长度(一个中文2个字节) Host_name返回当前用户所登录的计算机名字 system_user返回当前所登录的用户名称 user_name + while + 变量 遍历获取所有数据库用户名称 replace替换函数 ...

    中文字符串截取的js函数代码

    有时在显示某段文字的时候,可能会太长...而汉字是占用2个字节的,如果用String.substring(start, end)截取字符串的话,会发现汉字截取后比英文截取后个数虽然相同,但是长度还是长出去不少(具体要视字符个数来决定)

    mysql首字母拼音搜索title

    #判断左端首个字符是多字节还是单字节字符,要是多字节则认为是汉字且作以下拼音获取,要是单字节则不处理。如果是多字节字符但是不在对应的编码范围之内,即对应的不是大写字母则也不做处理,这样数字或者特殊字符...

    Python实现针对含中文字符串的截取功能示例

    本文实例讲述了Python实现针对含中文字符串的截取功能。分享给大家供大家参考,具体如下: 对于含多字节的字符串,进行截断的时候,要判断截断处是几字节字符,不能将多字节从中分割,避免截断后乱码 下面给出utf8和...

    c# 加密和解密相关代码

    //将字符编码为一个字节序列 byte[] md5data = md5.ComputeHash(data); //计算data字节数组的哈希值 md5.Clear(); //清空MD5 对象 string str = ""; //定义一个变量,用来记录加密后的密码 for (int i = 0; i ; i++...

    Android与单片机通信常用数据转换方法总结

     将GB2312转化为中文,如BAFAC2DCB2B7→胡萝卜,两个字节合成一个文字 public static String stringToGbk(String string) throws Exception { byte[] bytes = new byte[string.length() / 2]; for (int j = 0; j ...

    java 正则表达式

    匹配双字节字符(包括汉字在内):[^\x00-\xff] 应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)String.prototype.len=function(){return this.replace(/[^\x00-\xff]/g,"aa").length;} 匹配空行的...

    正则表达式

    我们已经发现了,在正则表达式中所有的字母字符和数字都是按照字面意思与自身相匹配的.JavaScript的正则表达式还通过以反斜杠(\)开头的转义序列支持某些非 字母字符.例如,序列 "\n" 在字符串中匹配的是一个直接量换...

    js使用小技巧

    Javascript小技巧一箩筐 事件源对象 ... 双字节字符 /[^x00-xff]/ 汉字 /[u4e00-u9fa5]/ 让英文字符串超出表格宽度自动换行 word-wrap: break-word; word-break: break-all; 透明背景 ...

Global site tag (gtag.js) - Google Analytics