让中文按照拼音排序
2022-09-16 21:13 | 阅读量: 0 | 标签: tutorial, list使用wxbit的列表排序块对列表进行自定义排序
我们现在有个列表
想让他按照汉语拼音顺序排序,使用内置块排序如下:
返回结果是:[“陈八”, “赵六”, “田七”, “王五”, “李四”, “张三”]
这个并不是我们想要的结果。
准备工作
想让列表按照拼音排序,首先要把汉字转成拼音,最简单的方法就是查字典。
点我下载字典文件,改名为pinyins.json,上传到项目的素材库。
在项目中放入一个按钮、一个标签、一个文件管理器、一个HTTP客户端
逻辑设计
将字典导入项目
字典文件可以在电脑上用记事本打开查看内容,是个这样的JSON格式的文本:
使用解码JSON文本,可以将他转换为键值对列表
查字典将汉字转为拼音
查看字典文件内容可以发现,有些字是多音字,这里为了简便,我们只取第一个读音。
将一个字串(多个汉字或者字母数字)转为拼音
依次读取字串中的每个字符,如果是数字或者字母就原样输出,否则就转为拼音。
自定义排序方式
使用wxibt最新的排序列表
自定义排序方式
现在可以按照拼音排序了
输出为 [“陈八”, “李四”, “田七”, “王五”, “赵六”, “张三”],正是我们想要的。
但是这样排序效率有点低(主要是因为频繁查字典),不要用它排序很长的列表。