"hello[a]boys[b]and[c]girls[d]xxx"
如果取出所有[]内部的字符,放到一个数组或List中, 如上面的字符串,应该把a,b,c,d四个字符分别放进数组中.

解决方案 »

  1.   

    给出一个解决思路步骤
    1:去头去尾
      hello[a]boys[b]and[c]girls[d]xxx->a]boys[b]and[c]girls[d
    2:使用正则表达式,把类似]boys[的位置替换成,
      正则表达式:\]\w+\[
    3:结果
      split(",")
    不足的地方:[]里不可以出现,  
      

  2.   

    正则表达式public class Test76 {
    public static void main(String[] args) {
    String s = "hello[a]boys[b]and[c]girls[d]xxx";
    String[] as = s.split("((?<=\\])|^).*?((?=\\[)|$)");
    for (int i = 1; i < as.length; i++)
    System.out.println(as[i]);
    }
    }
      

  3.   

    捕获一下
    public class Test76 {
    public static void main(String[] args) {
    String s = "hello[a]boys[b]and[c]girls[d]xxx";
    String[] as = s.split("(\\]|^).*?(\\[|$)");
    for (int i = 1; i < as.length; i++)
    System.out.println(as[i]);
    }
    }
      

  4.   

    我也是才会用不久~
    这是从网上搜的
    正则表达式30分钟入门教程
    http://www.unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm
    挺浅显易懂的
      

  5.   

    结合一些教程,再看看 java.util.regex.Pattern 的 API DOC 就基本上可以了解了。
      

  6.   

    public class getDaKuoHaoNeiRong {
        public static void main(String[] args) {
            String srcString = "hello[a]boys[b]and[c]girls[d]xxx";
            List<String> kuoHaoNeiRong = new ArrayList();
            for (int i = 0;; i++) {
                int zuoKuoHao = srcString.indexOf('[');
                if (zuoKuoHao < 0)
                    break;
                int youKuoHao = srcString.indexOf(']');
                kuoHaoNeiRong.add(i, srcString.substring(zuoKuoHao + 1, youKuoHao));
                srcString = srcString.substring(youKuoHao + 1);
            }
        }
    }