gpt4 book ai didi

swift - 谁能解释一下 string.compare(_ :options:range:locale:) with example?

转载 作者:行者123 更新时间:2023-11-28 15:36:52 24 4
gpt4 key购买 nike

谁能解释一下下面的String有什么用?在现实生活中发挥作用的例子。

func compare(_ aString: String, options mask: String.CompareOptions = default, range: Range<String.Index>? = default, locale: Locale? = default) -> ComparisonResult

https://developer.apple.com/reference/swift/string/1412785-compare

最佳答案

非常简短的版本:这不是 Swift 中使用率很高的方法。通常有更好的工具。它主要用于 ObjC。

import Foundation

let alice = "alice"
let bob = "bob"
let upBob = "BOB"
let bobby = "bobby"

// all are true
bob.compare(bob) == .orderedSame
bob.compare(alice) == .orderedDescending
bob.compare(upBob, options: .caseInsensitive) == .orderedSame

// This is a little weird in Swift because of how strings work. It's easier to use in ObjC
let rangeOfBob = bobby.range(of: "bob")!
bobby.compare(bob, range: rangeOfBob) == .orderedSame

bob.compare(umlaut, options: .diacriticInsensitive) == .orderedSame

关键教训是compare告诉你排序顺序。如果两个字符串相同,你会得到 .orderedSame .如果目标命令在参数之前,那么你会得到 .orderedAscending .否则,.orderedDescending .

compare对于简单的使用来说不是很“敏捷”(你经常使用 ==< 代替)。但如果您需要变音符号不敏感之类的东西,它会非常强大。对于不区分大小写,您只需使用 lowercased(with:)在 Swift 中。

关于swift - 谁能解释一下 string.compare(_ :options:range:locale:) with example?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44202869/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com