码迷,mamicode.com
首页 > 其他好文 > 详细

按字符大小分割字符串

时间:2018-05-21 17:51:34      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:clear   应该   null   param   stat   isl   直接   ==   copy   

最近在做小票打印机的项目,其中需要将商品名按照固定字符长度分割展示。

解决思路:获得应该被分割的位置数组。然后直接按照数组分割商品名填充到打印的数据中。

/**
* 得到一个字符串应该被分割的位置数组
* @param s
* @return
*/
public static int[] lengthSplitArr(@NotNull String s, int splitSize) {
if (s == null)
return new int[0];
char[] c = s.toCharArray();
int[] temp = new int[(c.length * 2 / splitSize) + 1];
int loc = 0;
int clearPoint = 0;
int splitPoint = clearPoint + splitSize;
int len = 0;
for (int i = 0; i < c.length; i++) {
len++;
if (!isLetter(c[i])) {
len++;
}
if (len >= splitPoint) {
if (len > splitPoint) {
clearPoint = splitPoint - 1;
temp[loc] = i - 1;
} else if(len == splitPoint){
clearPoint = splitPoint;
temp[loc] = i;
}
loc++;
splitPoint = clearPoint + splitSize;
}
}
int [] result = new int[loc];
System.arraycopy(temp, 0, result, 0, loc);
return result;

}

按字符大小分割字符串

标签:clear   应该   null   param   stat   isl   直接   ==   copy   

原文地址:https://www.cnblogs.com/zixiaoguan/p/9068182.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!