Ну, если вы хотите использовать регулярные выражения, то вы можете использовать replaceAll
. В этом решении используется квантификатор с неохотой и обратная ссылка:
String cleanxml = rawxml.replaceAll(".*?(<item>.*)", "$1");
Также вы можете использовать replaceFirst
. Это решение использует позитивный взгляд.
String cleanxml = rawxml.replaceFirst(".*?(?=<item>)", "");
Однако имеет смысл использовать indexOf
и substring
.
String cleanxml = rawxml.substring(rawxml.indexOf("<item>"));
Причина, по которой replace
не работает, заключается в том, что ни перегрузки char
, ни CharSequence
не основаны на регулярных выражениях. Это простая замена персонажа (последовательности).
Кроме того, поскольку другие предупреждают вас, если вы не выполняете обработку простых XML-файлов, вы не должны использовать регулярные выражения. Вместо этого вы должны использовать реальный анализатор XML.