2012-10-16 48 views
0

我必須在iOS應用程序中對HTML文件進行動態替換。帶回調的NSRegularExpression

這是關於本地化。

在HTML文件中

,我已經得到了類似的事情:LANG(183)必須變成「一個本地化的字符串」

我看着stringByreplacingMatchesInString,但不能發現,接受一個回調函數的任何版本?我想念什麼?

回答

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塊內。因此,您必須首先創建一個可修改的副本,您可以在該塊中修改該副本。

當然,您必須跟蹤newString長度的變化,因爲匹配範圍將始終指htmlString

+0

@ N-AccessDev:不客氣。 –