我们如何在快速忽略的情况下比较两个字符串?例如:
var a = "Cash"
var b = "cash"
如果我们比较var a和var b,是否有任何方法返回true
发布于 2015-05-29 22:57:21
试试这个:
var a = "Cash"
var b = "cash"
let result: NSComparisonResult = a.compare(b, options: NSStringCompareOptions.CaseInsensitiveSearch, range: nil, locale: nil)
// You can also ignore last two parameters(thanks 0x7fffffff)
//let result: NSComparisonResult = a.compare(b, options: NSStringCompareOptions.CaseInsensitiveSearch)
结果是NSComparisonResult枚举的类型:
enum NSComparisonResult : Int {
case OrderedAscending
case OrderedSame
case OrderedDescending
}
所以你可以使用if语句:
if result == .OrderedSame {
println("equal")
} else {
println("not equal")
}
发布于 2015-05-29 23:06:58
试试这个:
对于较老的swift:
var a : String = "Cash"
var b : String = "cash"
if(a.caseInsensitiveCompare(b) == NSComparisonResult.OrderedSame){
println("Et voila")
}
Swift 3+
var a : String = "Cash"
var b : String = "cash"
if(a.caseInsensitiveCompare(b) == .orderedSame){
print("Et voila")
}
发布于 2015-05-29 23:05:49
使用caseInsensitiveCompare
方法:
let a = "Cash"
let b = "cash"
let c = a.caseInsensitiveCompare(b) == .orderedSame
print(c) // "true"
ComparisonResult会按照字典顺序告诉你哪个单词比另一个出现得更早(即哪个单词更接近字典的前面)。.orderedSame
表示字符串将在字典中的相同位置结束
https://stackoverflow.com/questions/30532728
复制相似问题