java - 如何修剪字符串的特定部分的这一行

标签 java string

伙计们,我想从这段文本中提取 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>

你能告诉我我是怎么做的吗

最佳答案

您可以使用正则表达式来提取值,但由于它看起来像 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;

关于java - 如何修剪字符串的特定部分的这一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54500880/

相关文章:

java - JUDO、GAME中的自增列

java - tomcat 6.0.24异常: Could not load com. mysql.jdbc.SQLError

java - 仅使用整数的乘法和除法时是否可能会失去精度?使用 double 怎么样?

c - C 中的字符串分词器

Java 文字字符串 : wrong charset at runtime

C# String.Substring 剪切出一个 Ip 地址和一个字符串

java - Junit mockito when(..).thenReturn() 抛出 NullPointerException

java - 从java中的字符串值中获取数值

java - 如何从java中的字符串数组中获取项目?

string - 理论上是否可以在 Swift 中运行用户输入的代码?