字符串切割 本帖最后由 zhouxy123 于 2014-09-23 10:53:30 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public static void main(String[] args) { String str = "20140923|#|123|#|2014092300000001|#|xx|#|中国好声音|#|A|#|B|#||#||#|"; List<String> list = new ArrayList<String>(); while(str.indexOf("|#|") != -1){ String temp = str.substring(0,str.indexOf("|#|")); list.add(temp); if(str.indexOf("|#||#|") == str.indexOf("|#|")){ if(temp.length()==0){ str = str.substring("|#|".length()); }else{ str = str.substring(temp.length()); } }else{ str = str.substring(str.indexOf("|#|")+"|#|".length()); } } for(String s : list){ System.out.println(s); } System.out.println("list size:::::"+list.size()); }不知道你是不是想要这样的.. 菜鸟勿喷.. String[] strs = str.split("\\|#\\|", (str.length()-str.replace("|#|", "").length())/3+1);这样使用就可以了。多看一下api,split()除了默认长度还可以指定任意数组长度。原码是这样的,默认limit为0 if (limit == 0) while (resultSize > 0 && matchList.get(resultSize-1).equals("")) resultSize--; String[] result = new String[resultSize]; return matchList.subList(0, resultSize).toArray(result); java static初始化 请教“类对象之间的数据类型转换”问题 跪求一个鼠标监控程序实例 clone问题! Java中回车换行的代码怎么写?谢谢 请教一个Swing的技术问题。 一个showStatus小问题! JBuilder6下运行sample出现的问题 请问 关于SQLSERVER2000的JDBC驱动的问题 程序到底哪里出问题了,求大神指点一下? 客户端和服务器通信问题 工厂设计模式实现时出现错误
String str = "20140923|#|123|#|2014092300000001|#|xx|#|中国好声音|#|A|#|B|#||#||#|";
List<String> list = new ArrayList<String>();
while(str.indexOf("|#|") != -1){
String temp = str.substring(0,str.indexOf("|#|"));
list.add(temp);
if(str.indexOf("|#||#|") == str.indexOf("|#|")){
if(temp.length()==0){
str = str.substring("|#|".length());
}else{
str = str.substring(temp.length());
}
}else{
str = str.substring(str.indexOf("|#|")+"|#|".length());
}
}
for(String s : list){
System.out.println(s);
}
System.out.println("list size:::::"+list.size());
}不知道你是不是想要这样的.. 菜鸟勿喷..
这样使用就可以了。多看一下api,split()除了默认长度还可以指定任意数组长度。
原码是这样的,默认limit为0
if (limit == 0)
while (resultSize > 0 && matchList.get(resultSize-1).equals(""))
resultSize--;
String[] result = new String[resultSize];
return matchList.subList(0, resultSize).toArray(result);