我们如何在快速忽略的情况下比较两个字符串?例如:
var a = "Cash"
var b = "cash"
Run Code Online (Sandbox Code Playgroud)
如果我们比较var a&var b,是否有任何方法会返回true
iAn*_*rag 176
试试这个 :
对于较旧的swift:
var a : String = "Cash"
var b : String = "cash"
if(a.caseInsensitiveCompare(b) == NSComparisonResult.OrderedSame){
println("voila")
}
Run Code Online (Sandbox Code Playgroud)
Swift 3.0和4.1
var a : String = "Cash"
var b : String = "cash"
if(a.caseInsensitiveCompare(b) == .orderedSame){
print("voila")
}
Run Code Online (Sandbox Code Playgroud)
das*_*ght 33
使用caseInsensitiveCompare
方法:
let a = "Cash"
let b = "cash"
let c = a.caseInsensitiveCompare(b) == .orderedSame
print(c) // "true"
Run Code Online (Sandbox Code Playgroud)
ComparisonResult以字典顺序告诉你哪个单词比另一个单词更早出现(即哪个单词更靠近字典的前面)..orderedSame
意味着字符串最终会出现在字典中的相同位置
Ste*_*eve 23
if a.lowercaseString == b.lowercaseString {
//Strings match
}
Run Code Online (Sandbox Code Playgroud)
Gre*_*reg 10
试试这个:
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)
Run Code Online (Sandbox Code Playgroud)
结果是NSComparisonResult枚举的类型:
enum NSComparisonResult : Int {
case OrderedAscending
case OrderedSame
case OrderedDescending
}
Run Code Online (Sandbox Code Playgroud)
所以你可以使用if语句:
if result == .OrderedSame {
println("equal")
} else {
println("not equal")
}
Run Code Online (Sandbox Code Playgroud)
Sau*_*tia 10
正确方法:
let a: String = "Cash"
let b: String = "cash"
if a.caseInsensitiveCompare(b) == .orderedSame {
//Strings match
}
Run Code Online (Sandbox Code Playgroud)
请注意: ComparisonResult.orderedSame 也可以简写为 .orderedSame。
其他方法:
一种。
if a.lowercased() == b.lowercased() {
//Strings match
}
Run Code Online (Sandbox Code Playgroud)
湾
if a.uppercased() == b.uppercased() {
//Strings match
}
Run Code Online (Sandbox Code Playgroud)
C。
if a.capitalized() == b.capitalized() {
//Strings match
}
Run Code Online (Sandbox Code Playgroud)
小智 10
localizedCaseInsensitiveContains:通过执行不区分大小写的区域设置搜索来返回接收器是否包含给定的字符串
if a.localizedCaseInsensitiveContains(b) {
//returns true if a contains b (case insensitive)
}
Run Code Online (Sandbox Code Playgroud)
编辑:
caseInsensitiveCompare:返回调用 compare(_:options:) 的结果,其中 NSCaseInsensitiveSearch 作为唯一选项。
if a.caseInsensitiveCompare(b) == .orderedSame {
//returns true if a equals b (case insensitive)
}
Run Code Online (Sandbox Code Playgroud)
可以自己推出:
func equalIgnoringCase(a:String, b:String) -> Bool {
return a.lowercaseString == b.lowercaseString
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
57243 次 |
最近记录: |