Engineering/JAVA Java에서 Pattern, Matcher로 원하는 것만 뽑아내기. by 알 수 없는 사용자 2008. 2. 23. /** * XML파일을 파싱해서 이미지 파일 목록만 뽑아낸다. * @param XMLFilePath * @return 이미지 파일 목록이 들어있는 ArrayList<String> */ private ArrayList<String> extractImgSrc(String XMLFilePath) { BufferedReader reader; StringBuffer sb = new StringBuffer(); char[] buf = new char[512]; ArrayList<String> imgTagList = new ArrayList<String>(); ArrayList<String> imgSrc = new ArrayList<String>(); Pattern pattern; Matcher matches; try { reader = new BufferedReader(new FileReader(XMLFilePath)); while (reader.read(buf) > 0) { sb.append(buf); } } catch (Exception e) { Log.e(TAG_FILE, TAG_FILE + e.getMessage()); } pattern = Pattern.compile("<img [^<>]*>"); matches = pattern.matcher(sb); while (matches.find()) { imgTagList.add(sb.substring(matches.start(), matches.end())); } pattern = Pattern.compile("http://.*.jpg"); Iterator<String> it = imgTagList.iterator(); while (it.hasNext()) { String imgTag = it.next(); matches = pattern.matcher(imgTag); while (matches.find()) { imgSrc.add(imgTag.substring(matches.start(), matches.end())); } } return imgSrc; } 역시 Java에는 편한 것이 많다. 정규식도 좀 알아둬야 겠군... 공유하기 게시글 관리 Humaneer.net 관련글 [펌]about String, StringBuilder, StringBuffer Thread 종료시키기. Stopping thread in Java