我必须对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/