iOS/Swift:为什么 contains 无法检测 .firstIndex 函数中的子字符串?
iOS/Swift: why contains doesn't work to detect a substring in the .firstIndex function?
我正在使用函数 .firstIndex 来定位数组数组中的特定子字符串。
但是,当我放入整个字符串时,它会起作用,但如果我只放入该字符串的一个子字符串,则不起作用。
let index = programArray.firstIndex(where: {[=11=].contains("2021-14-09")}) //Index is nil => bad
let index = programArray.firstIndex(where: {[=11=].contains("2021-14-09 08:00:00")}) // Index is 0 => good
如果我不在它起作用的 firstIndex 函数中使用它,这很奇怪...
let test = "2021-14-09 08:00:00"
let test2 = test.prefix(10).contains("2021-14-09") // true => good
我该怎么办?
你使用 contains(_:),但是如果你查看 Apple Developer Documentation 你会看到:
Returns a Boolean value indicating whether the sequence contains the given element.
因此,如果您使用包含,则整个字符串必须匹配。
我正在使用函数 .firstIndex 来定位数组数组中的特定子字符串。 但是,当我放入整个字符串时,它会起作用,但如果我只放入该字符串的一个子字符串,则不起作用。
let index = programArray.firstIndex(where: {[=11=].contains("2021-14-09")}) //Index is nil => bad
let index = programArray.firstIndex(where: {[=11=].contains("2021-14-09 08:00:00")}) // Index is 0 => good
如果我不在它起作用的 firstIndex 函数中使用它,这很奇怪...
let test = "2021-14-09 08:00:00"
let test2 = test.prefix(10).contains("2021-14-09") // true => good
我该怎么办?
你使用 contains(_:),但是如果你查看 Apple Developer Documentation 你会看到:
Returns a Boolean value indicating whether the sequence contains the given element.
因此,如果您使用包含,则整个字符串必须匹配。