记一次需求
需求:将歌曲排序。歌曲名可能纯为数字、纯中文、纯英文、纯日文、或者各种语言的混合。
解决方案: 将歌曲名转换为英文字符,再排序。
方案分解:
1 | // MARK: - 具体的转换方法 |
1 | extension String { |
使用封装的方法
1
2
3let string = "Hello! こんにちは! สวัสดี! مرحبا! 您好!"
print(string.toLetters())使用方法效果
1
Hellokon'nichihaswasdimrhbaninhao
注意事项
- 核心的方法原理是通过指定ICU
"Any-Latin; Latin-ASCII; Any-Lower"
一次转换完成的。就是拉丁字符转换为 ASCII,字母全部小写的格式。 - 在字符串的比较方法中要注意要么字符串全大写or全小写。
- 核心的方法原理是通过指定ICU
参考链接
- CFStringTransform 字符转换
- [CFStringTransform](