Ответ 1
Вы можете попробовать с помощью localizedCaseInsensitiveContains
let filteredArray = self.arrCountry.filter { $0.localizedCaseInsensitiveContains("india") }
В Swift 3 я хочу создать массив совпадающей строки (без учета регистра) из массива строк: -
Я использую этот код, но он чувствителен к регистру,
let filteredArray = self.arrCountry.filter { $0.contains("india") }
как я могу это сделать.. предположим, что у меня есть главный массив строк, называемый arrCountry, я хочу создать другой массив из всей строки, у которой в нем есть "india" (без учета регистра).
Кто-нибудь может мне помочь.
Вы можете попробовать с помощью localizedCaseInsensitiveContains
let filteredArray = self.arrCountry.filter { $0.localizedCaseInsensitiveContains("india") }
localizedCaseInsensitiveContains
Возвращает логическое значение, указывающее является ли данная строка непустой и содержится в этой строке не зависящим от регистра, нелиберальным поиском, с учетом текущий язык. Локально-независимая операция без учета регистра и другие потребности, могут быть достигнуты путем вызова Диапазон (от: параметры: диапазон: Язык:).Эквивалент: range (of: other, options:.caseInsensitiveSearch, locale: Locale.current)!= nil
Лучше использовать
.filter { $0.range(of: "india", options: .caseInsensitive) != nil }
Самым простым способом может быть строчная строчка и сравнение:
Свифт 3 и выше
let filteredArray = self.arrCountry.filter { $0.lowercased() == "india" }