我在完成一个动态构造字符串的功能时,思路好混乱啊!具体的功能需求是这样的:
从外界传进一个以'/'分割的字符串,我需要将其转换成指定长度的字符串数组。如果当前字符串长度越界则将其放入下一个字符串中。
举例如下:
String test = "Eugene/MichaelJackson/Eminem/Limpbizkit/Linkinpark-LPU/Five";
我设每一个完成的字符串元素长度为22。则最后处理完的字符串数组类似这样:
results[0]="Eugene"; //长度超过22不能拼接
results[1]="/MichaelJackson/Eminem"; //长度等于22可以拼接
results[2]="/Limpbizkit";
results[3]="/Linkinpark-LPU/Five";
希望哪位高人能够指点迷津,给一点思路!谢谢!
我现在的问题就是集中在如何判断长度和拼接。有点混乱!
从外界传进一个以'/'分割的字符串,我需要将其转换成指定长度的字符串数组。如果当前字符串长度越界则将其放入下一个字符串中。
举例如下:
String test = "Eugene/MichaelJackson/Eminem/Limpbizkit/Linkinpark-LPU/Five";
我设每一个完成的字符串元素长度为22。则最后处理完的字符串数组类似这样:
results[0]="Eugene"; //长度超过22不能拼接
results[1]="/MichaelJackson/Eminem"; //长度等于22可以拼接
results[2]="/Limpbizkit";
results[3]="/Linkinpark-LPU/Five";
希望哪位高人能够指点迷津,给一点思路!谢谢!
我现在的问题就是集中在如何判断长度和拼接。有点混乱!
解决方案 »
- Servlet 自动生成class文件遇到的问题
- 有人推荐个画图(diagram,或者UML那种图)的软件么?简单好用,可以export出来,然后放到word上面的。谢谢了!
- 我想同时学C++和JAVA,不知可不可以?
- 请问谁有installanywhere 8.0的注册码?
- com.sun.image.codec.jpeg包,哪里有啊??
- 子类和父类的转化
- 有关文本框事件的问题
- 如何用javamail查看垃圾箱、草稿箱里的邮件?我已经知道如何查看收件箱里的邮件了
- 请问JBuilder5比JBuilder4在哪些方面有了改进?
- 求推荐java基础的入门书籍
- 初学swing,想做个类似GoogleTalk的登录界面,不知道怎么布局
- java如何释放内存单元~
这句什么意思"Eugene"的长度怎么超过22了?有点晕
这个东西主要就是为了防治字符串分割后可能产生的断句情况。
String[] result=test.split("/");
if(test.startsWith("/"))
result[0]="/"+result[0];
for(int i=1;i<result.length;i++)
result[i]="/"+result[i];
ArrayList<String>res=new ArrayList<String>();
StringBuffer sb=new StringBuffer();//缓冲
for(int i=0;i<result.length;i++)
{
if(result[i].length()+sb.length()>=21)//如果太加一起长度太长,
//则将缓冲内容添加到结果中,并清空缓冲
{
res.add(sb.toString());
sb.setLength(0);
}
//将当前内容加入到缓冲中
sb.append(result[i]);
}
//如果缓冲不为空,则添加最后内容到结果中
if(sb.length()!=0)
res.add(sb.toString());
//显示测试结果
for(int i=0;i<res.size();i++)
System.out.println(res.get(i));
比如说"/Eugene/MichaelJackson",经过拼装后,可能由于长度原因,变成"/Eugene/Michae"和"lJackson",这两个字符串就产生了断句!
我是希望能够把它处理成"/Eugene"和"/MichaelJackson"这样的两个!斜杠还是保留的便于识别不同的字段.
设置>21,运行结果
Eugene/MichaelJackson
/Eminem/Limpbizkit
/Linkinpark-LPU/Five设置>20.运行结果
Eugene
/MichaelJackson
/Eminem/Limpbizkit
/Linkinpark-LPU/Five
BTW,不要给我分,我没有参与题目的讨论。