【发布时间】:2015-10-12 22:57:00
【问题描述】:
什么是检查 URL 是否包含给定字符串的快速方法?我尝试了 jsoup 和模式匹配,但有没有更快的方法。
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
public class JsoupTest {
public static void main(String[] args) throws Exception {
String url = "https://en.wikipedia.org/wiki/Hawaii";
Document doc = Jsoup.connect(url).get();
String html = doc.html();
Pattern pattern = Pattern.compile("<h2>Contents</h2>");
Matcher matcher = pattern.matcher(html);
if (matcher.find()) {
System.out.println("Found it");
}
}
}
【问题讨论】:
-
html.contains(yourText)方法有什么问题? -
你为什么要编译一个模式?如果
html是String而你的pattern是String,你可以简单地使用html.contains(pattern)。 -
您的标题具有误导性。您要检查检索到的文档是否包含字符串,而不是 URL。
-
一般来说,如果您的代码有效并且您正在寻求审查以找到更好的方法,您应该选择codereview.stackexchange.com 而不是stackoverflow.com