我正在使用 JSoup 从不同的站点获取一些信息。该信息采用不同的语言,但使用了阿拉伯字符,例如کور。而且我不是 100% 确定,但我认为那些不是 ASCII 字符。我如何判断该字符串是否不是 ASCII(如果我是正确的,它不是)然后抓取该字符串。
编辑: 使用番石榴库和一段代码后,我得到以下输出。
首页 新215
添加单词
统计数据
关于我们
反馈
回复
回复
خونه
سرای
سرپناه
带走
问题是,虽然打印的是非 ASCII 字符串,例如“کور”,但打印的是 ASCII 字符串,例如“Feedback”。
这是我正在使用的代码。
import java.io.IOException;
import java.io.PrintStream;
import java.io.UnsupportedEncodingException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import com.google.common.base.CharMatcher;
public class GrabLinks {
public static void main(String[] args) {
Document doc;
PrintStream out = null;
try {
out = new PrintStream(System.out, true, "UTF-8");
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
// need http protocol
doc = Jsoup.connect("http://thepashto.com/word.php?pashto=&english=house").get();
// get page title
String title = doc.title();
//System.out.println("title : " + title);
// get all links
Elements links = doc.select("a[href]");
for (Element link : links) {
// get the value from href attribute
//System.out.println("\nlink : " + link.attr("href"));
//System.out.println("text : " + link.text());
if (!CharMatcher.ASCII.matchesAllOf(link.text())) {
out.println(link.text());
}
}
} catch (IOException e) { e.printStackTrace(); }
}
}