NSRegularExpression带回调

时间:2012-10-16 09:28:05

标签: iphone ios nsregularexpression

我必须在iOS App上动态替换为HTML文件。

关于本地化。

在HTML文件中,我有类似:LANG(183),必须变成“本地化的字符串”

我正在查看stringByreplacingMatchesInString,但无法找到任何接受回调函数的版本?我想念一下吗?

1 个答案:

答案 0 :(得分: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