不用说,坐代码:
//*
*获取字符串的长度。 如果有中文的话,每个中文字符2位
* @param value中指定的字符串
* @return字符串的长度
*/
publicstaticintlength (字符串值) {
int valueLength=0;
String chinese='[u0391-uFFE5] ';
/*获取字段值的长度。 如果包含中文字符,则每个中文字符的长度为2。 否则为1 */
for(intI=0; i value.length (; I ) {
/*获取1个字符*
stringtemp=value.substring(I,i 1);
/*判断是否为中文字符*/
if(temp.Matches(Chinese ) ) }
/*中文字符长度为2 */
值长度=2;
} else {
/*其他字符的长度为1 */
值长度=1;
}
}
返回值长度;
}
//*
*字符串的长度、显示的长度、汉字或日语的长度得到2,英语字符的长度得到1
* @param String s需要长度字符串
* @return int得到的字符串长度
*/
publicstaticintlength (字符串) {
if(s==null ) )。
返回0;
char[] c=s.tocharArray (;
int len=0;
for(intI=0; i c.length; I ) {
len;
if (! isletter(c[I] ) }
len;
}
}
返回len;
}
//*
*得到字符串的长度。 汉字或日语的长度为1,英语文字的长度为0.5
* @param String s需要长度字符串
* @return int得到的字符串长度
*/
publicstaticdoublegetlength (字符串) {
双值长度=0;
String chinese='[u4e00-u9fa5];
获取//字段值的长度,如果包含中文字符,则每个中文字符的长度为2,否则为1
for(intI=0; i s.length (; I ) {
获取//1个字符
stringtemp=s.substring(I,i 1);
//判断是否为中文字符
if(temp.Matches(Chinese ) ) }
//中文字符长度为1
值长度=1;
} else {
//其他字符的长度为0.5
值长度=0.5;
}
}
//向上调整
返回长度. ceil (value length;
}
根据长度剪切内容,区分中英文:
//*
*剪下文字长度,区分中英文
*
* @param abc字符串的内容
* @param len剪辑长度
* @return
*/
publicstaticstringsubstr (string ABC,int len ) {
if(textutils.isempty(ABC )|| len=0) ) )
返回' ';
string buffer string buffer=new string buffer (;
int sum=0;
char[] chars=abc.tocharArray (;
for(intI=0; i chars.length; I ) {
if(sum=(len*3) ) }
布雷克;
}
char bt=chars[i];
if(Bt64Bt123 ) {
string buffer.append (string.value of ) Bt );
sum =2;
} else {
string buffer.append (string.value of ) Bt );
sum =3;
}
}
return stringBuffer.toString (;
}
以上java判断中文字符串长度的简单实例是编辑分享给大家的所有内容。 希望能作为参考。 另外,我希望你也能支持很多编程诀窍。
总结
如果你觉得编程家庭网站的内容很好,欢迎程序员朋友推荐程序员网站。
该文字内容由网民网络收集整理提供,作为学习参考,版权归原作者所有。
如果你喜欢交流学习经验,点击链接加入交流1群: 1065694478 (满)交流2群: 163560250