2015-01-12 2 views
0

특성 파일에서 Java에서 동적으로 호출하려는 (구분 기호 및 정규 표현식으로) 메소드 이름을 포함하는 String을로드하고 있습니다. 예를 들어메소드 이름을 메소드의 결과로 바꿉니다.

:

문자열이의이 속성에서 읽을 수 "%getProductName%-%GetProductCode%[-]*[0-9]*\.(.+)"는 파일, 나는 메서드를 호출 할 때 자신의 반환 값 (%% 사이) 메소드 이름을 대체합니다.

하지만 자바 (권장)에서 다음을 수행하는 방법을 아주 잘 모르겠어요 : - 문자열 & 구문 분석은 모든 %methodNames% 변수를 검색 할 수 있습니다.

String에 정의 된 여러 메서드를 검색 한 후 Reflection을 사용하여 결과를 검색하고 원래 String에서이 값을 바꿉니다.

문자열을 구문 분석하고 다른 %methodNames%을 검색하는 것과 관련하여 빠른 접근 방식을 찾고 있습니다.

어떤 조언을 주셔서 감사합니다!

답변

0

당신은 다음과 같은 정규식 시도 할 수 :

public static void main(String[] args) { 
    String s = "%getProductName%-%GetProductCode%[-]*[0-9]*\\.(.+)"; 
    Pattern p = Pattern.compile("%(.*?)%"); // capturing group to extract data between()s 
    Matcher m = p.matcher(s); 
    while (m.find()) { 
     System.out.println(m.group(1)); 
    } 

} 

O/P :

getProductName 
GetProductCode 
+0

나는 * 난 그냥 문자열을 구문 분석하고 다른 검색에 대한 빠른 접근 방법을 찾고 있어요 응답했다 % methodNames %. * 부분. @downvoters, 제발 자신을 설명하십시오. – TheLostMind

관련 문제