如何修剪下来字符串特定部分这条线

问题描述 投票:1回答:1

家伙,我想提取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 کے ذریعہ لندن روانہ ہوں گے ۔ انہوں نے لاہور ہائی کورٹ کو بیرون ملک روانگی سے متعلق آگاہ [&#8230;]</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>

你能告诉我,我该怎么办

java string
1个回答
2
投票

您可以使用正则表达式来提取值,但因为它看起来像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 کے ذریعہ لندن روانہ ہوں گے ۔ انہوں نے لاہور ہائی کورٹ کو بیرون ملک روانگی سے متعلق آگاہ [&#8230;]</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 کے ذریعہ لندن روانہ ہوں گے ۔ انہوں نے لاہور ہائی کورٹ کو بیرون ملک روانگی سے متعلق آگاہ [&#8230;]</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;
© www.soinside.com 2019 - 2024. All rights reserved.