此篇尝试将字符串按固定长度分割返回List
private void run11() throws Exception {
//测试开始
ArrayList b=splitByBytes("abcdefghijk",3);
//结果
//[abc, def, ghi, jk]
}
//功能:按固定长度来分割字符串 chenst
public ArrayList<String> splitByBytes(String text, int length)
throws UnsupportedEncodingException {
String encode="GBK";
if (text == null) {
return null;
}
ArrayList<String> list=new ArrayList<String>();
StringBuilder sb = new StringBuilder();
int currentLength = 0;
for (int i=0;i<text.toCharArray().length;i++)
{
char c=text.charAt(i);
currentLength += String.valueOf(c).getBytes(encode).length;
if ( currentLength <= length) {
sb.append(c);
} else {
currentLength=0;
currentLength += String.valueOf(c).getBytes(encode).length;
list.add(sb.toString());
sb.replace(0,sb.length(),"");
sb.append(c);
}
if(i==text.toCharArray().length-1)
list.add(sb.toString());
}
return list;
}
实现要点回顾:
在遍历text.toCharArray()中解决:
1.新字符串存放
2.容量处理
可能用到的场景:
暂时想不到,这个函数有啥用?
本文介绍了一个Java方法,该方法能够将输入的字符串按照指定长度进行分割,并返回一个字符串列表。通过遍历字符并计算每个字符的字节长度,确保每个分割片段都不超过设定的最大长度。
590

被折叠的 条评论
为什么被折叠?



