2014-02-07 80 views
0

從xml字符串中獲取xml字符串的最佳方式是在xml部分之前包含奇怪字符?我有一個字符串包含像下面的xml字符串一些無效的字符。我想從字符串中只提取xml,刪除xml部分之前的所有奇怪字符。 在此先感謝。獲取xml字符串的最佳方法

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

的XML之前的文本可以包含'<'性格嗎? –

+0

不..但它不是,但我想避免迭代每個字符,直到第一個<字符出現。如果我使用正則表達式應該更有效率嗎? – user800799

+1

你認爲regex會做什麼? (只有代碼會更好。) –

回答

0

您可以使用正則表達式提取XML位,這樣一個基本的適用於給定的例子:

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

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

它應該看起來像模式p = Pattern.compile(「(<\\?。*)」)? (兩個反斜槓) – user800799

+0

你是對的,我錯過了逃避反斜槓 – helion3

相關問題