從xml字符串中獲取xml字符串的最佳方式是在xml部分之前包含奇怪字符?我有一個字符串包含像下面的xml字符串一些無效的字符。我想從字符串中只提取xml,刪除xml部分之前的所有奇怪字符。 在此先感謝。獲取xml字符串的最佳方法
%--:00abcd102312 01203918 <?xml version="1.0" encoding="UTF-8"?>
從xml字符串中獲取xml字符串的最佳方式是在xml部分之前包含奇怪字符?我有一個字符串包含像下面的xml字符串一些無效的字符。我想從字符串中只提取xml,刪除xml部分之前的所有奇怪字符。 在此先感謝。獲取xml字符串的最佳方法
%--:00abcd102312 01203918 <?xml version="1.0" encoding="UTF-8"?>
您可以使用正則表達式提取XML位,這樣一個基本的適用於給定的例子:
Pattern p = Pattern.compile("(<\\?.*)");
Matcher m = p.matcher(" your string here ");
if (m.find()) {
System.out.println(m.group(1));
}
它應該看起來像模式p = Pattern.compile(「(<\\?。*)」)? (兩個反斜槓) – user800799
你是對的,我錯過了逃避反斜槓 – helion3
的XML之前的文本可以包含'<'性格嗎? –
不..但它不是,但我想避免迭代每個字符,直到第一個<字符出現。如果我使用正則表達式應該更有效率嗎? – user800799
你認爲regex會做什麼? (只有代碼會更好。) –