日期:2014-05-18  浏览次数:20851 次

拆分字符串的问题
我要在一个String中找到几个我想要的String   应该怎么做?
比如:1[234][5]6[789]0
我就要234、5、789   应该怎么做?

谢谢。

------解决方案--------------------
你是要按照顺序取吗(就比如是一个字符串里的第1,3,5,7个字符呢)?
------解决方案--------------------
找[,遍历字符串,找到了[就搞个零时变量记录[后面的字符串,只到找到了]就把这个零时的值放到一个list里面,然后清空这个零时变量,继续往后找!
------解决方案--------------------
public static void main(String[] args) {
String s = "1[234][5]6[789]0 ";
String[] ss = s.split( "(\\d*\\[)|(\\]\\d*) ");
for(String re : ss){
if(!re.equals( " ")){
System.out.println(re);
}
}
}
------解决方案--------------------
String str= "1[234][5]6[789]0 ";
String s[]=new String[3];
int j=0;
int start=0;
int end=0;
for(int i=0;i <str.length();i++)
{
if(str.charAt(i)== '[ ') { start=i; continue;}
if(str.charAt(i)== '] ')
{
end=i;
s[j]=str.substring(start+1,end);
System.out.print(s[j]+ " ");
j++;
}}