2013-09-23 59 views
0

我已經找到了這個問題在stackoverflow和谷歌上的答案,找不到我在找什麼。我如何從網頁獲取特定文本

當我想從頁面檢索數據,像這樣的,有了這個代碼

public class ConsoleSearch { 

    public static void main(String[] args) throws IOException { 

     URL url = new URL("http://www.stackoverflow.com"); 
     URLConnection cnt = url.openConnection(); 
     BufferedReader br = new BufferedReader(new InputStreamReader 
(cnt.getInputStream())); 
     String content; 

     while((content = br.readLine()) != null){ 
      System.out.println(content); 
     } 
     br.close(); 
    } 

} 

我明明得到了HTML標籤,一切隨之而來。 我可以很容易地過濾HTML使用HtmlCleaner 具有挑戰性的部分,我發現我的自我卡住的地方是當我想從所有檢索到的數據中檢索特定的文本。

例如,如果我只想檢索文字「Nova Scotia」和/或「Europe」......我該怎麼做?

+0

你試過模式匹配 –

+1

StackOverflow有一個[API](http://api.stackexchange.com/)。 –

+0

謝謝安德魯。我不知道。 –

回答

2
Pattern p = Pattern.compile("Nova Scotia"); 
    Matcher m = p.matcher(content); 
    boolean b = m.matches(); 

只要看看上面的正則表達式包,它會對你有幫助。

+2

*「這會對你有所幫助。」*請拼寫爲'你',以便對每個人都有幫助。 –

+0

無論拼寫如何,他都非常非常有幫助。 謝謝Pratik。 –

+0

@AndrewThompson謝謝你指出我。下次我發佈答案時請記住您的觀點 –