字符串如下所示:
U#:zhang_san#:ASSIGN#:2#:0#:0#:0#:#:#:#:#;U#:wang_wu#:ASSIGN#:2#:0#:0#:0#:#:#:#:#;
我想把zhang_san和wang_wu截取出来

解决方案 »

  1.   

    最后的需要的结果是"zhang_san:wang_wu"
      

  2.   


            String text = "U#:zhang_san#:ASSIGN#:2#:0#:0#:0#:#:#:#:#;U#:wang_wu#:ASSIGN#:2#:0#:0#:0#:#:#:#:#;";
            Matcher m = Pattern.compile("U#:([^#]+)#").matcher(text);
            StringBuilder sb = new StringBuilder();
            while(m.find()){
             sb.append(m.group(1)).append(":");
            }
            if(sb.length()>1)
             sb.deleteCharAt(sb.length()-1);
            System.out.println(sb.toString());
      

  3.   


    这段代码就是普通的正则表达式的应用,自己baidu看看吧我可以给你解释下 U#:([^#]+)# 这个正则已“U#:”开头中间字符不是#号的 字符串 都匹配出来