【发布时间】:2012-10-16 17:56:19
【问题描述】:
我必须在 iOS 应用程序上对 HTML 文件进行动态替换。
这是关于本地化的。
在 HTML 文件中,我有如下内容:LANG(183),必须将其转换为“本地化字符串”
我正在查看 stringByreplacingMatchesInString 但找不到任何接受回调函数的版本?我错过了什么吗?
【问题讨论】:
标签: iphone ios nsregularexpression
我必须在 iOS 应用程序上对 HTML 文件进行动态替换。
这是关于本地化的。
在 HTML 文件中,我有如下内容:LANG(183),必须将其转换为“本地化字符串”
我正在查看 stringByreplacingMatchesInString 但找不到任何接受回调函数的版本?我错过了什么吗?
【问题讨论】:
标签: iphone ios nsregularexpression
您可以使用基于块的匹配方法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。
【讨论】: