2013-07-17 2 views
2

Поэтому у меня есть страницы источника в тексте, и я знаю, что она содержит ссылку, отформатированный как этотпростой Java Regex читать между двумя

IMG SRC = "HTTP: // someurl и заканчивается -t1

Я пытаюсь извлечь все, что находится между img src и -t1. Это не должно быть идеально. Я могу работать с «http ... или src =» http ... или так далее. Я просто хочу обрезать исходный код, чтобы вокруг этого URL. Я читал о Regex, но просто не могу понять логику. Любой человек может помочь?

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

Если все URLs похожи на вашем примере вы можете сделать некоторые вещи, как это.

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

Смежные вопросы