如何执行多个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")
}
答案 0 :(得分:1)
如果字符串非空,您可以添加一个检查:
if checker2 != "" && string2.lowercaseString.rangeOfString(checker2) != nil {
println("exists2")
}
但实际上不是必需的,因为如果调用rangeOfString()
会返回nil
空论点。如果你把测试重写为
if string2.rangeOfString(checker2, options: .CaseInsensitiveSearch) != nil {
println("exists2")
}
然后空的lowercaseString
转换甚至没有开销
字符串案例。