一尘不染

Swift中的RegEx?

swift

我正在学习Swift,还有另一个问题。Swift中是否有常规的epression,如果有,我该如何使用它们?

在研究中,我发现了一些相互矛盾的信息。Apple
Developer文档中
有提及RegEx的内容,但它与我见过的任何其他语言看起来都非常不同。如果这是解决方案,该如何使用?

另一方面,网站建议RegEx在Swift中不存在。这样对吗?

如果有帮助,我尝试使用正则表达式从包含价格的JSON样式API中获取比特币的平均价格,但也包含很多我不想要的东西。

对不起,另一个基本问题。


阅读 234

收藏
2020-07-07

共1个答案

一尘不染

不幸的是,Swift缺少正则表达式文字。但是您所指的外部链接提供了两种使用正则表达式的方法。

  1. 围绕NSRegularExpression进行类包装,并使用此类。
  2. rangeOfString:options:使用RegularExpressionSearchas选项调用Foundation方法。这在Swift中。

第二种方法更干净,更易于实现。

Swift中的方法方法定义

func rangeOfString(_ aString: String!,options mask: NSStringCompareOptions) -> NSRange

您可以将其与正则表达式匹配一起使用,例如:

let myStringToBeMatched = "ThisIsMyString"
let myRegex = "ing$"
if let match = myStringToBeMatched.rangeOfString(myRegex, options: .RegularExpressionSearch){
    println("\(myStringToBeMatched) is matching!")
}

这是有关rangeOfString()的Apple文档

2020-07-07