java解析span标签中style属性值
时间: 2023-11-20 18:51:13 浏览: 90
要解析 span 标签中的 style 属性值,可以使用 Java 中的正则表达式或者解析 HTML 的库,比如 Jsoup。
下面是使用正则表达式的示例代码:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class SpanStyleParser {
public static void main(String[] args) {
String html = "<span style=\"color: red; font-size: 16px;\">Hello, world!</span>";
Pattern pattern = Pattern.compile("style=\"(.*?)\"");
Matcher matcher = pattern.matcher(html);
if (matcher.find()) {
String styleAttr = matcher.group(1);
String[] styles = styleAttr.split(";");
for (String style : styles) {
String[] keyValue = style.trim().split(":");
if (keyValue.length == 2) {
String key = keyValue[0].trim();
String value = keyValue[1].trim();
System.out.println(key + ": " + value);
}
}
}
}
}
```
以上代码会输出:
```
color: red
font-size: 16px
```
这里使用了正则表达式 `style="(.*?)"` 来匹配 span 标签中的 style 属性值,并使用分号和冒号进行解析。注意,这个示例只适用于简单的 style 属性,如果遇到复杂的嵌套或者其他特殊情况,可能需要使用更复杂的解析方式。
如果你想使用 Jsoup 库来解析整个 HTML 文档并提取 span 标签中的样式属性值,可以参考以下示例代码:
```java
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class SpanStyleParser {
public static void main(String[] args) {
String html = "<html><body><span style=\"color: red; font-size: 16px;\">Hello, world!</span></body></html>";
Document doc = Jsoup.parse(html);
Elements spans = doc.select("span");
for (Element span : spans) {
String styleAttr = span.attr("style");
String[] styles = styleAttr.split(";");
for (String style : styles) {
String[] keyValue = style.trim().split(":");
if (keyValue.length == 2) {
String key = keyValue[0].trim();
String value = keyValue[1].trim();
System.out.println(key + ": " + value);
}
}
}
}
}
```
这段代码会输出与前面相同的结果。使用 Jsoup 库可以更方便地解析 HTML 文档,并且支持更复杂的选择器和操作。
阅读全文