gpt4 book ai didi

ios - 无法通过片假名(日文)1 字节和 2 字节(ji 和 `゙)搜索

转载 作者:行者123 更新时间:2023-11-28 15:57:10 27 4
gpt4 key购买 nike

我有一个由 1 byte slice 假名组成的列表名称(示例 `゙),我通过 2 byte slice 假名 ji 进行搜索,但结果为零。你知道如何将搜索文本从 2 字节的假名转换为 1 字节吗?请帮助我。

我的代码:

   let filteredData = searchText.isEmpty ? employeeList : employeeList.filter({(data : employee) -> Bool in

return data.emp_name_kana?.range(of: searchText, options: .caseInsensitive) != nil

})

最佳答案

Kata Kana 1 byte 不是 Unicode 中 "㽼゙" 等字符的合适名称,最好将其称为半角片假名,如 Unicode standard .这些字符中的每一个都不能用 UTF-8 中的 1 字节来表示。

您可以在比较字符串之前应用一些转换:

let halfwidthKatakanaStr = "ザジズゼゾ"
let fullwidthSearchText = "ジ"

let found = halfwidthKatakanaStr.range(of: fullwidthSearchText.applyingTransform(.fullwidthToHalfwidth, reverse: false)!) != nil
print(found) //->true

(注意)以上代码适用于 iOS9+、macOS 10.11+。如果您需要针对一些较旧的平台,您可能需要调用经典的 CFStringTransform

关于ios - 无法通过片假名(日文)1 字节和 2 字节(ji 和 `゙)搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41540991/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com