如何从字符串中获取特定数据?

时间:2012-02-13 08:43:50

标签: java android string pattern-matching arrays

我有以下字符串,我想从a href标签中导出数字( 104321 )。我怎样才能得到这个数字。

Hello this is testing string <a href=\"/testing/104321\">Ap</a><img src=\"Image Url" width=\"222\" height=\"149\"/><br/><br/>test\u00e4n p\u00e4\u00e4ll\u00e4 test, test\u00e4, test?

我希望最终输出是这样的。

String[] strExample= {"testing", "104321","test\u00e4n p\u00e4\u00e4ll\u00e4 test, test\u00e4, test?"};

感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

您可以尝试使用正则表达式的简单模式匹配器:

String THE_PATTERN = "<a\\s+href\\s*=\\s*\"/([a-zA-Z]+)/([0-9]+)";
Matcher m = Pattern.compile(THE_PATTERN).matcher(THE_INPUT_STRING);
String[] results = new String[2];
if (m.find()) {
    results[0] = m.group(1);
    results[1] = m.group(2);
}

虽然没有尝试过,但可能存在小的/易于修复的错误。

答案 1 :(得分:0)

对于那个案例

String[] strExample = str.split("^.+?\\\"/|\\\\\">.+<br/>|/");

会奏效。如果要解析的字符串发生了很大变化,它将会中断。如果您需要考虑更多模式,可能会有更多示例。