List<String> list = new ArrayList<String>();
String node_content = "上海市北京路100号400室";
String regEx = "上海市";

Pattern p = Pattern.compile(regEx);
Matcher m=p.matcher(node_content);
boolean rs=m.find();

if(rs){
list.add(regEx);
}
其它三个字符串跟上海市一样处理就ok了

解决方案 »

  1.   


    StringBuffer sb = new StringBuffer();

    String node_content = "上海市北京路100号400室";
    String regEx1 = ".市";
    String regEx2 = ".路";
    String regEx3 = ".号";
    String regEx4 = ".楼";
    String regEx5 = ".室";


    Pattern p = Pattern.compile(regEx1);
    Matcher m=p.matcher(node_content);
    boolean rs=m.find();

    System.out.println("------------" + rs);

    if(rs){
    String[] s1 = node_content.split("市");
    sb.append(s1[0]+"市"+" ");
    System.out.println("------------" + sb);

    p = Pattern.compile(regEx2);
    m=p.matcher(s1[1]);
    rs=m.find();
    if(rs){
    String[] s2 = s1[1].split("路");
    sb.append(s2[0] + "路"+" ");
    System.out.println("------------" + sb);
    }
    }
    要继续的话,你在我代码基础上继续向下吧,不过我觉的你直接用split搞定就ok了
      

  2.   

    不用感谢,多加点分就ok了 O(∩_∩)O哈哈~