0

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

这是关于本地化的。

在 HTML 文件中,我有如下内容: LANG(183) 必须转换为“本地化字符串”

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

4

1 回答 1

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

于 2012-10-16T09:56:19.300 回答