2014-12-19 3 views
0

여기에 표시된 코드는 단일 패턴 값을 처리하는 코드입니다. 하지만 지금은 패턴 목록을 처리해야합니다. 누구든지 Pattern.compile (패턴)에 대한 대안을 제시 할 수 있습니까? 그것은 단일 값만을 처리하기 때문입니다. 여기서 patternValue는 데이터베이스에서 채워지는 arraylist입니다.Java에서 Pattern.compile을 사용하여 패턴 목록을 처리하는 방법

public static String processFuction(String input, String pattern, String replace) 
      throws Exception { 
     try { 
      Pattern p = Pattern.compile(pattern); 
      Matcher m = p.matcher(input); 
      input = m.replaceAll(replace); 
     } catch (Exception ex) { 
      logger.severe(ex.getMessage()); 
     } 
     return input; 
    } 

text = processFuction(text, patternValue,name[0]); 
+0

'는 Pattern.compile()'잘못은 무엇? 컴파일 된'Pattern' 인스턴스 목록을 반복하지 않으시겠습니까? 귀하의 질문을 명확히하십시오. – vanza

+0

'String'의'matches' 메소드를 찾고 있습니까? – ajb

답변

1

Java API에는 패턴 목록을 처리 할 수있는 방법이 없다고 생각합니다.
그래서 더 좋은 방법은 패턴 목록을 취하여 그에 맞게 처리하는 것입니다.

EX :

public static String processFuction(String input, List<String> patternList, String replace) 
      throws Exception { 
    try { 
     for (String pattern : patternList){ 
      Pattern p = Pattern.compile(pattern); 
      Matcher m = p.matcher(input); 
      input = m.replaceAll(replace);// do your operation 
     } 
    } catch (Exception ex) { 
     logger.severe(ex.getMessage()); 
    } 
    return input; 
} 
관련 문제