公司项目中的聊天模块有表情键盤其中包含一系列的 Emoji 表情,方便用户在文字中插入 Emoji
最近产品希望重新排列 Emoji 列表的顺序,将用户常用的放到前面需求文档类似下图。
攵档是包含一系列 Emoji 字符的文本而项目代码中定义的 Emoji 列表,列表每项是 Emoji 字符对应的 Unicode 编码所以直接复制粘贴是不行的,为了实现需求还需要转换处理。
将需求文档中的 Emoji 字符全部输入后就可以得到每个 Emoji 的 Unicode code 了。但是至此得到的是一个网页表格总不能挨个复制 code 吧?当然不能程序员的基本修养,能用代码实现的事儿咱就绝不手工来。下一步咱们就来解析网页取得我们需要的数据。
使用Chrome的开发者工具查看網页源码在左侧网页中鼠标指向目标数据,右侧Elements中会自动定位到对应源码如下图:
3.网页解析改进:使用HTML解析器
碰巧有同事分享了自己解析网页的经验,用的HTML解析器这可比枯燥的正则要强多了,可读性提高n个次方修改也更容易。于是咱也鸟枪换炮来试试专业工具。
HTML解析器使用 安装与使用可参考官方文档。
基本思路先找到 table,然后遍历每一行再查找每一行中的 code。
可以看到相比之前的正则表达式,虽然代码增加了但是可读性却好很多,基本就是将刚刚的思路逐行翻译成代码
代码的可读性对于维护至关重要,比如之前的正则表達式可能一个月之后我自己也不知道是什么意思了。如果那时需要修改逻辑那么基本相当于重写。