case insensitive matching search in string array swift 3
You can try with localizedCaseInsensitiveContains
let filteredArray = self.arrCountry.filter { $0.localizedCaseInsensitiveContains("india") }
localizedCaseInsensitiveContains
Returns a Boolean value indicating whether the given string is non-empty and contained within this string by case-insensitive, non-literal search, taking into account the current locale. Locale-independent case-insensitive operation, and other needs, can be achieved by calling range(of:options:range:locale:).Equivalent to: range(of: other, options: .caseInsensitiveSearch, locale: Locale.current) != nil
It's better to use
.filter { $0.range(of: "india", options: .caseInsensitive) != nil }