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

패턴 p = Pattern.compile ("(<\\?. *)"처럼 보이십니까? (백 슬래시 두 개) – user800799

+0

네 말이 맞아, 나는 백 슬래시를 피하는 걸 놓쳤다. – helion3

관련 문제