检查多个rangeOfString(Swift)

时间:2014-11-22 15:44:13

标签: string if-statement swift

如何执行多个rangeOfString,但仅当检查的值具有值?

E.g。以下

var string1 = "hello"
var string2 = "world"

var checker1 = "he"
var checker2 = ""

if string1.lowercaseString.rangeOfString(checker1) != nil {
    println("exists1")
}

//不应在下面执行以下值,因为“checker2”为空。

if string2.lowercaseString.rangeOfString(checker2) != nil {
    println("exists2")
}

1 个答案:

答案 0 :(得分:1)

如果字符串非空,您可以添加一个检查:

if checker2 != "" && string2.lowercaseString.rangeOfString(checker2) != nil {
    println("exists2")
}

但实际上不是必需的,因为如果调用rangeOfString()会返回nil 空论点。如果你把测试重写为

if string2.rangeOfString(checker2, options: .CaseInsensitiveSearch) != nil {
    println("exists2")
}

然后空的lowercaseString转换甚至没有开销 字符串案例。