2013-07-17 62 views
2

之間讀所以我有文本源頁,我知道它包含格式化這樣簡單的Java正則表達式2

IMG SRC =「HTTP鏈接:// someurl與-T1

結束

我試圖提取img src和-t1之間的任何內容,它不一定非常完美,我可以使用「http ...或src =」http ...等等,我只是想修剪我正在閱讀有關正則表達式,但似乎無法找到邏輯。任何人都可以幫忙嗎?

File workfile = new File("page.txt"); 
    BufferedReader br = new BufferedReader(new FileReader(workfile)); 
    String line; 
    while ((line = br.readLine()) != null) { 
     //System.out.println(line); 

     //Pattern p = Pattern.compile("src"+"t1"); ??? 
     //Matcher m = p.matcher("t1");    ??? 

    } 
    br.close(); 

編輯:通過使用解決:

String url = line.split("<img src=")[1].split("-t1")[0];  
System.out.println(url); 

感謝所有答覆的。

+0

這似乎是HTML,那麼爲什麼不使用HTML解析器? – fge

+0

測試...不知道HTML解析器 – anno

回答

2
String url = <your url eg... img src='http://someurl and ends with -t1'> 

String whatYouWant = url.split("img src")[1].split("-t1")[0]; 

whatYouWant是必需的字符串,由您

+0

這一個工作完美。 tnx的幫助。 – anno

0
Pattern pattern = Pattern.compile("img src(.+?)-t1"); 
Matcher matcher = pattern.matcher("img src=\"http://someurl-t1"); 
matcher.find(); 
System.out.println(matcher.group(1)); // Prints String I want to extract 
0

如果所有網址,類似於你的例子中,你可以做一些這樣的事。

String src="img src=\"http://someurl and ends with -t1\""; 
    String[] url=src.split("img src"); 
    String[] str=url[1].split("-t1"); 
    System.out.println(str[0]); 
+0

不,他們是不同的,但所有的開始和結束這些跡象 – anno

+0

@anno然後這將工作正常 –

+0

感謝您的幫助。解決了 :) – anno