1 回答

TA貢獻1775條經(jīng)驗 獲得超8個贊
您可以使用正則表達式來提取值,但由于它看起來像 HTML,您應該使用一些 HTML/XML 解析器來提取值。這是一個簡單的代碼,它將為您獲取 src 屬性的值,
String s = "<div style=\"margin-bottom:20px;\"><img width=\"750\" height=\"369\" src=\"https://urdu.arynews.tv/wp-content/uploads/2018/09/HAMZASHEHBAZ.jpg\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"Hamza Shehbaz\" srcset=\"https://urdu.arynews.tv/wp-content/uploads/2018/09/HAMZASHEHBAZ.jpg 750w, https://urdu.arynews.tv/wp-content/uploads/2018/09/HAMZASHEHBAZ-300x148.jpg 300w\" sizes=\"(max-width: 750px) 100vw, 750px\" /></div> <p>?????: ????? ?????? ??? ??????? ???? ???? ????????? ?? ???? ?? ??? ???? ????? ??? ?? ?????? ???? ???? ????? ??? ??????? ?? ????? ???? ??? ? ?? ????? ???? ????????? ?? ?????????? ?? ????? 629 ?? ????? ???? ????? ??? ?? ? ????? ?? ????? ???? ???? ?? ????? ??? ?????? ?? ????? ???? […]</p> <p>The post <a rel=\"nofollow\" href=\"https://urdu.arynews.tv/hamza-shehbaz-will-depart-for-london-today/\">???? ????? ?? ???? ????? ??? ??</a> appeared first on <a rel=\"nofollow\" href=\"https://urdu.arynews.tv\">ARYNews.tv | Urdu - Har Lamha Bakhabar</a>.</p>";
Pattern p = Pattern.compile("src=\"([^\"]+)");
Matcher m = p.matcher(s);
if(m.find()) {
System.out.println(m.group(1));
} else {
System.out.println("Couldn't find");
}
輸出,
https://urdu.arynews.tv/wp-content/uploads/2018/09/HAMZASHEHBAZ.jpg
此解決方案使用此正則表達式src=\"([^\"]+),它在字面上匹配src="并捕獲所有數(shù)據(jù),直到遇到雙引號并停止捕獲數(shù)據(jù)。
編輯:HTML解析器解決方案
這是另一種使用JsoupHTML/XML 解析器的解決方案,因為有些人不喜歡正則表達式來解析 HTML,
String s = "<div style=\"margin-bottom:20px;\"><img width=\"750\" height=\"369\" src=\"https://urdu.arynews.tv/wp-content/uploads/2018/09/HAMZASHEHBAZ.jpg\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"Hamza Shehbaz\" srcset=\"https://urdu.arynews.tv/wp-content/uploads/2018/09/HAMZASHEHBAZ.jpg 750w, https://urdu.arynews.tv/wp-content/uploads/2018/09/HAMZASHEHBAZ-300x148.jpg 300w\" sizes=\"(max-width: 750px) 100vw, 750px\" /></div> <p>?????: ????? ?????? ??? ??????? ???? ???? ????????? ?? ???? ?? ??? ???? ????? ??? ?? ?????? ???? ???? ????? ??? ??????? ?? ????? ???? ??? ? ?? ????? ???? ????????? ?? ?????????? ?? ????? 629 ?? ????? ???? ????? ??? ?? ? ????? ?? ????? ???? ???? ?? ????? ??? ?????? ?? ????? ???? […]</p> <p>The post <a rel=\"nofollow\" href=\"https://urdu.arynews.tv/hamza-shehbaz-will-depart-for-london-today/\">???? ????? ?? ???? ????? ??? ??</a> appeared first on <a rel=\"nofollow\" href=\"https://urdu.arynews.tv\">ARYNews.tv | Urdu - Har Lamha Bakhabar</a>.</p>";
Document doc = Jsoup.parse(s);
for (Element element : doc.select("img")) {
System.out.println(element.attr("src"));
break;
}
印刷,
https://urdu.arynews.tv/wp-content/uploads/2018/09/HAMZASHEHBAZ.jpg
確保在您的代碼中有 Jsoup 庫和以下導入,
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
添加回答
舉報