伙计们,我想从这段文本中提取 src=""
<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>
你能告诉我我是怎么做的吗
最佳答案
您可以使用正则表达式来提取值,但由于它看起来像 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="
并捕获所有数据,直到遇到双引号它停止捕获数据的地方。
编辑:HTML 解析器解决方案
这是使用 Jsoup
HTML/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;
关于java - 如何修剪字符串的特定部分的这一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54500880/