Hi,
ich durchsuche folgenden Text:
<div class="vsThumbs">
<div id="setThumbs">
<a href="/photos/14341958@N03/1478405712/in/set-72157602245820202/" title="screenshotDavor" class="image_link" id="set_thumb_link_1478405712"><img src="http://farm2.static.flickr.com/1219/1478405712_d1301e1122_s.jpg" alt="screenshotDavor" width="75" height="75" /></a><a href="/photos/14341958@N03/1499332140/in/set-72157602245820202/" title="HPIM0233" class="image_link" id="set_thumb_link_1499332140"><img src="http://farm3.static.flickr.com/2077/1499332140_e67e8ec92a_s.jpg" alt="HPIM0233" width="75" height="75" /></a><a href="/photos/14341958@N03/1498488199/in/set-72157602245820202/" title="HPIM0251" class="image_link" id="set_thumb_link_1498488199"><img src="http://farm3.static.flickr.com/2059/1498488199_e7ca85916e_s.jpg" alt="HPIM0251" width="75" height="75" /></a> </div>
Ich extrahiere hier alle Link mit der Endung .jpg:
Matcher matcher = Pattern.compile("<img src=\"(http://[/\\.\\w\\d]+)_\\w*\\.jpg\" alt=\"").matcher(htmlFile);
int i = 0;
while (matcher.find()) {
if (!graphicURLs.contains(matcher.group(1)+".jpg?v=0")) {
graphicURLs.add(matcher.group(1)+".jpg?v=0");
System.out.println("Found: " + matcher.group(1) + ".jpg?v=0");
i++;
}
}
System.out.println(i + " Graphics found!");
return graphicURLs;
Aber dummerweise musste ich diese IF-Verzweigung einbauen, da der erste Treffer (und nur der erste) immer doppelt in die ArrayList geschrieben wird und ich verstehe nicht wieso. Das würde dann so aussehen:
http://farm2.static.flickr.com/1219/1478405712_d1301e1122.jpg?v=0
http://farm2.static.flickr.com/1219/1478405712_d1301e1122.jpg?v=0
http://farm3.static.flickr.com/2077/1499332140_e67e8ec92a.jpg?v=0
http://farm3.static.flickr.com/2059/1498488199_e7ca85916e.jpg?v=0
Wieso passiert das, würde ich die If-Verzweigung nicht verwenden?
Markus