java - 你如何过滤掉标签?
问题描述
import org.jsoup.Jsoup;
import org.jsoup.helper.Validate;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
public class ListLinks {
public static void main(String[] args) throws IOException {
//Validate.isTrue(args.length == 1, "usage: supply url to fetch");
String url = "https://www.google.com/";
print("Fetching %s...", url);
Document doc = Jsoup.connect(url).get();
Elements links = doc.select("a");
print("\nLinks: (%d)", links.size());
for (Element link : links) {
print(" * a: <%s> (%s)", link.attr("abs:href"), trim(link.text(), 35));
}
}
private static void print(String msg, Object... args) {
System.out.println(String.format(msg, args));
}
private static String trim(String s, int width) {
if (s.length() > width)
return s.substring(0, width-1) + ".";
else
return s;
}
}
我的问题是,结果带有一堆额外的标签,例如:
谁能告诉我如何删除诸如“*”、“a”、“<>”之类的东西,它只显示链接?
解决方案
只需调整格式字符串,对于String.format()
. 在你的情况下,msg
价值:
print("%s", link.attr("abs:href"));
推荐阅读
- java - 清单合并失败:需要明确指定 android:exported
- javascript - 新输入不会更改子组件上的 FormGroup 禁用属性
- javascript - 将字符串转换为数组后,查找字符串中最长的单词
- c++ - 还有其他更强大的设置桌面背景图像的方法吗?
- python - Scoll 不适用于 IOS Appium 自动化
- reactjs - React中的垂直切换按钮组?
- angular - 离线添加数据AngularFire而不加载
- reactjs - axios get/post 无法访问 Fast API
- python - 点安装模块
- javascript - 如何根据 CSV 文件中的数据更新页面上的数据,而不是使用页面上的固定元素数据?