swift 3 - 搜索结果也是变音符号

Ali*_*ien 1 search swift swift3

在我的应用程序中,我使用的搜索效果很好,但我需要建议.当我搜索没有变音符号的文本时,我不知道该怎么做,结果也是变音符号.示例:输入搜索holesovice,我需要找到holesoviceholešovice.

这是我的代码的一部分:

func filterContentForSearchText(_ searchText: String) {
        filteredERequests = requests.filter({( request : CityRequest) -> Bool in

            return request.cityName.lowercased().contains(searchText.lowercased())

        })
        myTable.reloadData()
    }
Run Code Online (Sandbox Code Playgroud)

Mar*_*n R 9

您可以使用range(of:, options:)选项进行变音符号不敏感(以及可选的不区分大小写)搜索.例:

let list = ["holesovice", "holešovice"]
let searchTerm = "sovi"

let filtered = list.filter {
    $0.range(of: searchTerm, options: [.diacriticInsensitive, .caseInsensitive]) != nil
}

print(filtered) // ["holesovice", "holešovice"]
Run Code Online (Sandbox Code Playgroud)

  • @Alien:我无法编译您的代码,因为它不是独立的:) – 但它应该类似于`return request.cityName.range(of: searchText, options: [.diacriticInsensitive, .caseInsensitive]) != nil ` 在您的关闭中。 (2认同)