使用java StringTokenizer,split或scanner提取字符串

时间:2012-01-24 01:22:42

标签: java split java.util.scanner stringtokenizer

我想从以下内容中提取<a: href></a: href>之间的字符串:

<a: href> https://0.0.0.1/abcd/openthis.pdf </a: href>

使用StringTokenizer,split或scanner 我正在尝试将StringTokenizer与<a: href></a: href>一起用作分隔符,但它不起作用。 我试图逃避<>:,但这似乎不是问题所在。我的猜测是它不接受单词或短语作为分隔符。

1 个答案:

答案 0 :(得分:0)

您可以尝试Regex

试试这个正则表达式>\s+(.*?)\s+<'

请注意一点,正则表达式解决方案仅在您提取此字符串

时才有效

< a: href > https://0.0.0.1/abcd/openthis.pdf < /a: href>

通常使用html parsers从相应的html代码中提取文本。

Here is a reason why you should not parse HTML with regex

我会试试htmlcleaner

  

HTMLCleaner是一个Java库,用于安全地解析和转换在Web上找到的任何HTML到格式良好的XML。它设计小巧,快速,灵活且独立。 HtmlCleaner可用于java代码,命令行工具或Ant任务。解析的结果是轻量级文档对象模型,可以很容易地转换为DOM或JDom等标准,或者以各种方式序列化为XML输出(紧凑,漂亮的打印等)。

你可以使用XPath和htmlcleaner来获取xml / html标签内的内容。这是一个不错的选择      例如Xpath Example