我必须对iOS App上的HTML文件进行动态替换。

关于本地化。

在HTML文件中,我有类似:LANG(183)之类的东西,必须将其转换为“本地化字符串”

我正在查看stringByreplacingMatchesInString,但是找不到接受回调函数的任何版本?我想念什么吗?

最佳答案

您可以使用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

关于iphone - NSRegularExpression与回调,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12911538/

10-11 17:09