2

所以我有一个文本源页面,我知道它包含一个格式如下的链接

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);

感谢所有回复。

4

3 回答 3

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是您需要的字符串

于 2013-07-17T06:34:06.610 回答
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
于 2013-07-17T06:34:23.773 回答
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]);
于 2013-07-17T06:36:55.230 回答