字符串长度及截取(中文2字符,英文1字符)
2016-08-24 09:26
821 查看
1、计算字符串长度,中文2个字符,英文1个字符
public static int realLen(String str)
{
int m = 0;
char arr[] = str.toCharArray();
for(int i=0;i<arr.length;i++)
{
char c = arr[i];
if((c >= 0x0391 && c <= 0xFFE5)) //中文字符
{
m = m + 2;
}
else if((c>=0x0000 && c<=0x00FF)) //英文字符
{
m = m + 1;
}
}
return m;
}
2、截取字符串,中文2个字符,英文1个字符
public static String subRealStr(String str, int subSLength) {
if (str == null) return "";
try {
int tempSubLength = subSLength;//截取字节数
String subStr = str.substring(0, str.length()<subSLength ? str.length() : subSLength);//截取的子串
int subStrByetsL = subStr.getBytes("GBK").length;//截取子串的字节长度
//int subStrByetsL = subStr.getBytes().length;//截取子串的字节长度
// 说明截取的字符串中包含有汉字
while (subStrByetsL > tempSubLength){
int subSLengthTemp = --subSLength;
subStr = str.substring(0, subSLengthTemp>str.length() ? str.length() : subSLengthTemp);
subStrByetsL = subStr.getBytes("GBK").length;
}
return subStr;
} catch(UnsupportedEncodingException e) {
e.printStackTrace();
}
return "";
}
public static int realLen(String str)
{
int m = 0;
char arr[] = str.toCharArray();
for(int i=0;i<arr.length;i++)
{
char c = arr[i];
if((c >= 0x0391 && c <= 0xFFE5)) //中文字符
{
m = m + 2;
}
else if((c>=0x0000 && c<=0x00FF)) //英文字符
{
m = m + 1;
}
}
return m;
}
2、截取字符串,中文2个字符,英文1个字符
public static String subRealStr(String str, int subSLength) {
if (str == null) return "";
try {
int tempSubLength = subSLength;//截取字节数
String subStr = str.substring(0, str.length()<subSLength ? str.length() : subSLength);//截取的子串
int subStrByetsL = subStr.getBytes("GBK").length;//截取子串的字节长度
//int subStrByetsL = subStr.getBytes().length;//截取子串的字节长度
// 说明截取的字符串中包含有汉字
while (subStrByetsL > tempSubLength){
int subSLengthTemp = --subSLength;
subStr = str.substring(0, subSLengthTemp>str.length() ? str.length() : subSLengthTemp);
subStrByetsL = subStr.getBytes("GBK").length;
}
return subStr;
} catch(UnsupportedEncodingException e) {
e.printStackTrace();
}
return "";
}
相关文章推荐
- bat 截取字符串(for命令) 推荐收藏
- SQL 截取字符串应用代码
- 批处理BAT替换与截取字符串的用法t1=%a:~3%是什么意思
- PowerShell获取字符串长度的方法
- jQuery 限制输入字符串长度
- PHP获取中英混合字符串长度的方法
- 处理判断字符串长度的代码
- JS截取字符串实例详解
- php 截取字符串并以零补齐str_pad() 函数
- php 不同编码下的字符串长度区分
- SQL截取字符串函数分享
- JS截取字符串常用方法整理及使用示例
- 标题过长使用javascript按字节截取字符串
- JavaScript截取字符串的Slice、Substring、Substr函数详解和比较
- PHP字符串长度计算 - strlen()函数使用介绍
- JS截取字符串常用方法详细整理
- Shell脚本中计算字符串长度的5种方法
- Lua中获取utf8字符串长度的方法和自定义函数
- Shell脚本计算字符串长度和判断字符串为空小技巧
- Laravel与CI框架中截取字符串函数