2012-10-16 2 views
0

iOS 앱에서 HTML 파일을 동적으로 교체해야합니다.NSRegularExpression with callback

현지화에 관한 내용입니다. HTML 파일에서

, 내가 좋아하는 것들을 가지고했습니다 : "지역화 문자열"

내가 stringByreplacingMatchesInString보고했지만 캔트 콜백 함수를 받아 모든 버전을 찾기로 설정되어 있어야합니다 (183) LANG을? 나는 무엇인가 놓치 느냐?

답변

1

당신은 NSRegularExpression의 블록 기반의 매칭 방법을 사용할 수 있습니다

NSMutableString *newString = [htmlString mutableCopy]; 
[regex enumerateMatchesInString:htmlString 
         options:0 
          range:NSMakeRange(0, [htmlString length]) 
        usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) { 
         // [result range] is the matching range. 
         // Do something with newString. 
        } 
]; 

(내가 아는 한)은 블록 내부 htmlString을 수정할 수 없습니다해야합니다. 따라서 블록에서 수정할 수있는 가변 복사본을 먼저 만들어야합니다.

물론 일치 범위는 항상 htmlString을 참조하기 때문에 newString 길이의 변경 사항을 추적해야합니다.

+0

@ N-AccessDev : 환영합니다. –