【问题标题】:NSRegularExpression with callback带有回调的 NSRegularExpression
【发布时间】:2012-10-16 17:56:19
【问题描述】:

我必须在 iOS 应用程序上对 HTML 文件进行动态替换。

这是关于本地化的。

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

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

【问题讨论】:

    标签: iphone ios nsregularexpression


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-21
      • 2015-06-09
      • 1970-01-01
      • 2019-08-20
      • 1970-01-01
      • 2018-09-16
      • 2015-10-08
      • 2019-11-27
      相关资源
      最近更新 更多