正则表达式 – 在Swift中的RegularExpression matchesInString问
发布时间:2020-12-14 05:56:05 所属栏目:百科 来源:网络整理
导读:我正在将基于CoreText的应用程序转换为 Swift,并且在将匹配项添加到文本中的正则表达式时遇到问题. 这是示例代码 let regexOptions = NSRegularExpressionOptions.CaseInsensitive | NSRegularExpressionOptions.DotMatchesLineSeparatorslet regex = NSRegu
我正在将基于CoreText的应用程序转换为
Swift,并且在将匹配项添加到文本中的正则表达式时遇到问题.
这是示例代码 let regexOptions = NSRegularExpressionOptions.CaseInsensitive | NSRegularExpressionOptions.DotMatchesLineSeparators let regex = NSRegularExpression.regularExpressionWithPattern("(.*?)(<[^>]+>|Z)",options: regexOptions,error: nil) var results: Array<NSTextCheckingResult> = regex.matchesInString(text,options: 0,range: NSMakeRange(0,countElements(text))) 根据文档,matchesInString函数返回一个NSTextCheckingResults数组,但编译器抱怨说“anyObject []类型的表达式不能转换为”NSMatchingOptions“.任何可能出错的想法? 解决方法
尝试分配到您的结果变量,如下所示:
var results = regex.matchesInString(text,options:nil,range:NSMakeRange(0,countElements(text)))as Array< NSTextCheckingResult> >返回类型是Array< AnyObject> []!,当您检查集合的成员时,可以在此处(如上例所示)或以后进行转换>在Swift选项中,使用nil表示空选项集(在Objective-C中为0) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |