2014-02-07 3 views
0

Каков наилучший способ получить строку xml из строки, содержащей странные символы перед частью xml? У меня строка содержит некоторые недопустимые символы с строкой xml, как показано ниже. Я хотел бы извлечь только xml из строки, удаляя весь странный символ перед частью xml. Спасибо заранее.Лучший способ получить только строку xml

%--:00abcd102312 01203918 <?xml version="1.0" encoding="UTF-8"?> 
+0

Может текст перед XML содержит '' <символ? –

+0

Нет .. его нет, но я бы хотел избежать повторения каждого символа до появления первого символа. Должно ли быть более эффективным, если я использую регулярное выражение? – user800799

+1

Как вы думаете, что будет делать регулярное выражение? (Только код будет приятнее.) –

ответ

0

Вы можете извлечь битый XML с регулярными выражениями, основные один, как это работает для данного примера:

Pattern p = Pattern.compile("(<\\?.*)"); 
Matcher m = p.matcher(" your string here "); 

if (m.find()) { 
    System.out.println(m.group(1)); 
} 
+0

Должен ли он выглядеть как Pattern p = Pattern.compile ("(<\\?. *)")? (две косые черты) – user800799

+0

Вы правы, я пропустил выход из обратной косой черты – helion3

Смежные вопросы