java - 将表示 <img> 标签的字符串部分收集到 Java 8 中的列表中

标签 java string

在一个用例中,我有一个很长的 String其中可以包含许多<img>标签。 我需要在列表中收集从开始( <img src=" )到关闭( "> )的整个图像标签。

我编写了一个正则表达式( "<img.*?\">"gm )来选择这些,但不知道如何将它们全部收集到列表中。

例如:

final String regex = "<img.*?\\\">";
final String string = "Hello World <img src=\"https://dummyimage.com/300.png/09f/777\"> \nMy Name <img src=\"https://dummyimage.com/300.png/09f/ff2\"> Random Text\nHello\nHello Random <img src=\"https://dummyimage.com/300.png/09f/888\"> \nMy Name <img src=\"https://dummyimage.com/300.png/09f/2ff\">adaad\n";
final String replace = "";

final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);

final String result = matcher.replaceAll(replace); // Here, how can I collect all the image tags in a list

最佳答案

您可以简单地执行以下操作:

final List<String> result = new ArrayList<>();
while (matcher.find()) {
     result.add(matcher.group());
}

并删除你的final String Replace = "";

关于java - 将表示 <img> 标签的字符串部分收集到 Java 8 中的列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74448333/

相关文章:

java打印类语句

java - "toString"第三方对象的设计模式

java - Apache POI Excel 行和列索引

java - 使用for循环获取2个字符串之间的汉明距离

Python 3 - 在 str.format() 中使用元组

java - 仅当输入值不为空时,查询生成器才创建更新语句

java - 提取Java注释正文(不带//、/*、*/)

java - 出现空格后如何区分同一字符串中的不同字符

c - 如何在C中的字符串前面附加一个字符串

java - 我尝试制作 ListView 并从字符串中获取数据,但出现此错误