我需要通过为(if)语句中的字符串中的每个字符提供两种可能性来比较字符串,例如:
let str = "2 3 1 2"
if str == "(1||2) (2||3) (1||2) (1||2)" {
//Do Something
}
我知道代码编写不正确,只是为了理解我的意思。
我以前在VB中使用(Like Operator),例如:
Dim s As String = "2 3 1 2"
If s Like "[1-2] [3-4] [2-3] [1-2]" Or s Like "[1-2] [1-2] [2-3] 2" Then
//Do something
End If
我无法在swift中找到类似的东西。
请帮助,谢谢。
答案 0 :(得分:0)
看起来你要求的是对正则表达式的支持。它们并不直接存在于Swift中(但是?)。但您可能需要查看RegEx in Swift?和http://nomothetis.svbtle.com/clean-regular-expressions-using-conversions。
答案 1 :(得分:0)
您描述的问题迫切需要使用regular expressions来解决。
上次我看,Swift不支持正则表达式,但确实允许使用NSRegularExpression
。有关Regex类的示例,请参阅 Regex in Swift 。
所以你最终会写出像
这样的东西if Regex("[12] [23] [12] [12]").test("2 3 1 2") {
println("matches pattern")
}
关于此主题的另一篇博客文章是 Clean Regular Expressions In Swift 。