通过给两种可能性在斯威夫特的每个字符比较字符串(Compare a string by giving

2019-10-21 09:27发布

我需要通过给两种可能性在(如果)语句如字符串中的每个字符比较字符串:

let str = "2 3 1 2"
if str == "(1||2) (2||3) (1||2) (1||2)" {
//Do Something
}

我知道代码编写不正确,但只是为了明白我的意思。

我以前在VB例如,使用(Like运算符):

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

我找不到在迅速类似的事情。

请帮帮忙,谢谢。

Answer 1:

您所描述的问题是哭出来的使用解决了正则表达式 。

我最后一次看,斯威夫特不支持正则表达式,但它允许使用NSRegularExpression 。 见正则表达式在斯威夫特的正则表达式类的一个实例。

所以,你会写出来像

if Regex("[12] [23] [12] [12]").test("2 3 1 2") {
  println("matches pattern")
}

有关这个主题的另一篇博客是干净的正则表达式斯威夫特



Answer 2:

看起来你所要求的是对正则表达式的支持。 他们不直接斯威夫特存在(没有?)。 但是,你可能想看看在斯威夫特正则表达式? 和http://nomothetis.svbtle.com/clean-regular-expressions-using-conversions 。



文章来源: Compare a string by giving two possibilities for each character in Swift
标签: ios xcode swift