字符串数组swift 3中不区分大小写的匹配搜索

May*_*ain 24 ios swift swift3

在Swift 3中,我想从字符串数组创建一个匹配字符串数组(不区分大小写): -

我正在使用此代码,但它区分大小写,

let filteredArray = self.arrCountry.filter { $0.contains("india") }
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做..假设我有一个名为arrCountry的主字符串数组,我想创建其中包含"india"(不区分大小写)的所有字符串的其他数组.

谁能帮我吗.

Duy*_*Hoa 64

你可以试试 localizedCaseInsensitiveContains

let filteredArray = self.arrCountry.filter { $0.localizedCaseInsensitiveContains("india") }
Run Code Online (Sandbox Code Playgroud)


Nik*_*Kov 12

localizedCaseInsensitiveContains
返回一个布尔值,该值指示给定字符串是否为非空并且在不考虑当前区域设置的情况下通过不区分大小写的非文字搜索包含在此字符串中.可以通过调用range(of:options:range:locale :)来实现与区域设置无关的不区分大小写的操作以及其他需求.

相当于:range(of:other,options:.caseInsensitiveSearch,locale:Locale.current)!= nil

最好使用

.filter { $0.range(of: "india", options: .caseInsensitive) != nil }
Run Code Online (Sandbox Code Playgroud)