/*
思路:
判断最后一个被截取的字节是不是负数。
如果是负数,继续往前判断,连续的负数的个数。
如果是偶数,说明没有半个中文。不用舍弃。
如果是奇数,说明有半个中文出现,舍弃最后一个字节。
*/
public class EncodeTest {
public static String cutString(String str,int len)throws Exception
{
byte[] buf = str.getBytes("GBK");
int count = 0;
for(int x=len-1; x>=0; x--)
{
if(buf[x]<0)
count++;
else
break;
}
if(count%2==0)
return new String(buf,0,len);
else
return new String(buf,0,len-1);
}
public static void main(String[] args) throws Exception {
String str = " 我abc汉字 ,6";
int len = 6; // 想要截取的长度,不管长度为几,都不会出现半个中文字符
System.out.println(cutString(str,len));
}
}
分享到:
相关推荐
java截取字符串,一道面试题。好像没有找到正确答案,今天找时间做了一个,仅供参考。本人运行过了。
各种java截取字符串方法及参数使用解释说明
Java精确截取字符串
Java字符串查找和提取异常处理,最有效的方法
主要介绍了Java截取字符串的方法,实例分析了java中substring方法的使用技巧,需要的朋友可以参考下
解决截取字符串中带有汉字的问题,以防截取时汉字截取一般出现错误情况
java编写一个截取字符串的函数,输入为一个字符串和字节数
Java精确截取字符串.pdf
在java算发中,求出字符串第一个数字; 如:“sdf545654afd” 他会返回,5,返回类型是(int)类型 如果字符串是:“打发士大夫” 则返回;-1, 想要运行,加入main()就行了。
java中常用的字符串的截取方法,方便大家学习,解决自己工作中的问题。
java 字符串截取工具类java 字符串截取工具类
主要介绍了JAVA如何按字节截取字符串,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
SQL截取以逗号分隔的字符串SQL截取以逗号分隔的字符串SQL截取以逗号分隔的字符串SQL截取以逗号分隔的字符串
jsp截取中文字符串 len为字节长度
7. 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉...
在JAVA里面实现判断字符串长度,和截取字符串
一般截取字符串是按照字符截取的,现在这个代码是按照字节截取字符
java字符串处理取出括号内的字符串 都是我自己试过可以用的j
java截取字符串-中英文; 中英文操作系统均可以正常运行; 希望能给大家帮助
Java精确截取字符串[归类].pdf