2013-10-05 2 views
1

위키 피 디아 XML 파일을 읽고 있는데 목록 항목 인 것을 삭제해야합니다. 예 : 다음 문자열의 경우 : 여기자바 : 목록의 위키 마크 업을 삭제하는

String text = ": definition list\n 
** some list item\n 
# another list item\n 
[[Category:1918 births]]\n 
[[Category:2005 deaths]]\n 
[[Category:Scottish female singers]]\n 
[[Category:Billy Cotton Band Show]]\n 
[[Category:Deaths from Alzheimer's disease]]\n 
[[Category:People from Glasgow]]"; 

, 내가 그것을 범주를 말한다 *, #: 아닌 하나를 삭제할.

String outtext = "definition list\n 
some list item\n 
another list item\n 
[[Category:1918 births]]\n 
[[Category:2005 deaths]]\n 
[[Category:Scottish female singers]]\n 
[[Category:Billy Cotton Band Show]]\n 
[[Category:Deaths from Alzheimer's disease]]\n 
[[Category:People from Glasgow]]"; 

나는 다음과 같은 코드를 사용하고 : : 출력은 다음과 같은 모양이 작동하지 않습니다

Pattern pattern = Pattern.compile("(^\\*+|#+|;|:)(.+)$"); 
      Matcher matcher = pattern.matcher(text); 
      while (matcher.find()) { 
       String outtext = matcher.group(0); 
       outtext = outtext.replaceAll("(^\\*+|#+|;|:)\\s", ""); 
       return(outtext); 
       } 

. 내가 어떻게해야하는지 알려주시겠습니까?

답변

0

이 작동합니다 :

중요
text = text.replaceAll("(?m)^[*:#]+\\s*", ""); 

하는 각 라인 라인 시작/끝 앵커를 사용할 수 있습니다 여기 MULTILINE 모드 (?m)을 사용하고 있습니다.

출력 :

definition list 
some list item 
another list item 
[[Category:1918 births]] 
[[Category:2005 deaths]] 
[[Category:Scottish female singers]] 
[[Category:Billy Cotton Band Show]] 
[[Category:Deaths from Alzheimer's disease]] 
[[Category:People from Glasgow]]