主要用于取 html的某些元素的文字.
如:
<td ...><a...>aaa</a></td> 返回 aaa
<td><label ...>bbb</label></td>  返回 bbb这些字符串的相同点都是要取 ">""<" 之间的字符,不知有没有方法可以很快把aaa及bbb取出来?

解决方案 »

  1.   

    用正则表达式可以做到
    http://www.10zhizui.cn
      

  2.   

    public class Answer {
    public static void main(String []args){
    String str="<td> <label   ...> bbb </label> </td>";
    getABC(str);
    }
    public static void getABC(String str){
    for(int i=0;i<str.length();i++){
    if(str.charAt(i)>65&&str.charAt(i)<122)
    System.out.print(str.charAt(i));
    }

    }
    }
    //看看这个方法行不?
      

  3.   

    public static void getbbc(String str){ str=str.replaceAll("<", "");
    str=str.replaceAll(">", "");
    str=str.replaceAll("/", "");
    System.out.print(str);
    }刚看有个正则替换,照猫画虎-_-!
      

  4.   

    import java.util.ArrayList;
    import java.util.List;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class TimeZone {    public static void main(String[] args) {
            String str1 = "<td   ...><a...>aaa</a></td><td>";
            String str2 = "<label   ...>bbb</label></td>";
            
            System.out.println(str1);
            List<String> list1 = getString(str1);        
            for(int i = 0, k = list1.size(); i < k; i++) {
                System.out.println(list1.get(i));
            }
            System.out.println(str2);        
            List<String> list2 = getString(str2);
            for(int i = 0, k = list1.size(); i < k; i++) {
                System.out.println(list2.get(i));
            }
        }
        
        public static List<String> getString(String str) {
            List<String> list = new ArrayList<String>(); 
            Pattern pattern = Pattern.compile("\\>([^\\>^\\s.]+)\\<");
            Matcher matcher = pattern.matcher(str);        
            while(matcher.find()) {
                list.add(matcher.group(1));
            } 
            return list;
        }
    }
      

  5.   

    正则表达式
    Pattern pt = Pattern
    .compile(".*>([a-zA-Z0-9 ]{2,})<.*");
    Matcher mc = pt.matcher(
    "<td   ...> <a...> aaa </a> </td>");
    if(mc.matches()){
    System.out.println(mc
    .group(1));
    }
    表示式应根据具体需求再变动
      

  6.   


    import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class Test {
    public static void main(String[] arg) {                       
    Pattern p = Pattern.compile("<(\\w+).*>(\\s*\\w+\\s*)(<\\/\\1>)");
    //Matcher m = p.matcher("<td   ...> <a...> aaa </a> </td>");
    Matcher m = p.matcher("<td> <label   ...> bbb </label> </td>");
    while (m.find()) {
    System.out.println(m.group(2));
    }
    }
    }/*
     bbb
    */
      

  7.   

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class test {
        public static void main(String[] arg) { 
         //pattern
            Pattern p = Pattern.compile("(<\\w+>)(\\s*\\w+\\s*)(<\\/\\w+>)");
            //matcher
            Matcher m = p.matcher("<td> <label> bbb </label> </td>");
            //find
            while (m.find()) {
             //<\\w+>
             System.out.println(m.group(1));
             //\\s*\\w+\\s*
                System.out.println(m.group(2));
                //<\\/\\w+>
                System.out.println(m.group(3));
            }
        }
    }
      

  8.   

    处理html,有专门的类库的
    推荐下httpunit,这些都是小case