Как я могу получить конкретные данные из строки? - PullRequest
2 голосов
/ 13 февраля 2012

У меня есть следующая строка, и я хочу получить число ( 104321 ) из тега href. Как я могу получить это число.

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 ]

2 голосов
/ 13 февраля 2012

Вы можете попробовать простое сопоставление с шаблоном с помощью регулярного выражения:

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);
}

Хотя вы еще не пробовали, поэтому могут быть небольшие ошибки, которые легко исправить.

0 голосов
/ 13 февраля 2012

Для этого единственного случая

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

будет работать. Это сломается, если строка, которую вы хотите проанализировать, сильно изменится. Вероятно, будет еще несколько примеров, если вам нужно учесть больше шаблонов.

...