搜索标记,然后将标记之间的文本保存为变量

时间:2011-08-17 13:31:57

标签: java

我对Java很新,但是如何在文件中搜索标记,然后标记之间的所有内容(如一串文本)都将分配给变量。

例如,我有<title>THE TITLE</title>,但后来我想将字符串“THE TITLE”保存到名为title1的变量,或其他东西。

我应该怎么做呢?谢谢。

2 个答案:

答案 0 :(得分:5)

如果您使用正则表达式,那么您只需使用捕获组

Pattern p = Pattern.compile("<title>([^<]*)</title>", Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(theText);
if (m.find()) {
    String thisIsTheTextYouWant = m.group(1);
    ....

答案 1 :(得分:2)

您不应该使用正则表达式来解析HTML:RegEx match open tags except XHTML self-contained tags

尝试jsoup http://jsoup.org/cookbook/extracting-data/attributes-text-html

String html = "<title>THE TITLE</title>";
Document doc = Jsoup.parse(html);
Element title = doc.select("title").first();
String result = title.text();