600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 编写一个截取字符串的函数 输入为一个字符串和字节数 输出为按字节截取的字符串。

编写一个截取字符串的函数 输入为一个字符串和字节数 输出为按字节截取的字符串。

时间:2018-10-31 07:34:19

相关推荐

编写一个截取字符串的函数 输入为一个字符串和字节数  输出为按字节截取的字符串。

题目: 编写一个截取字符串的函数,输入为一个字符串和字节数, 输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4, 应该截为“我AB”,输入“我ABC汉DEF”,6, 应该输出为“我ABC”而不是“我ABC+汉的半个”。

package cn.itchg;/*** Created by CHG on -02-23 14:48.*/public class GBK {public static void main(String[] args) throws Exception {String string = "我a很bc你好";System.out.println(splitString(string, 1));}public static String splitString(String str, int length)throws Exception {//无效输入if (str == null || str.length() < 1 || length < 1) {return "";}//用于统计这个字符串中有几个中文字符int wordCount = 0;//统一按照gbk编码来得到他的字节数组,因为不同的编码字节数组是不一样的。byte[] gbks = str.getBytes("GBK");//gbks中,汉字是两个负数表示for (int i = 0; i < length; i++) {int val = gbks[i];if (val < 0) {//汉字个数++wordCount++;}}//完整的汉字if (wordCount % 2 == 0) {return str.substring(0, (length - (wordCount / 2)));}//半个汉字 所以 -1return str.substring(0, (length - (wordCount / 2) - 1));}}

编写一个截取字符串的函数 输入为一个字符串和字节数 输出为按字节截取的字符串。 但是要保证汉字不被截半个。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。