获取拼音首拼是非常常见的需求,举个例子: 微信的通讯录,手机的通讯录,各种联系人列表。
要做到这一点很容易,比如说引用一个拼音库来读出拼音的首拼。但是往往这些拼音库都是非常完整的体积非常大的库。
如果你只是想要完成以上的一个小功能。pyfl
将会非常适合你。pyfl 的全称是pinyin first letters
拼音全拼的意思。
pyfl是基于pinyinjs写的一个专门获取汉字首拼的库。已经经过作者的同意才开源使用的。
pyfl
的用法非常简单如下, 在支持import
语法的前端项目中:
import pyfl from 'pyfl';
pyfl('喵'); // M
pyfl('好笑吗跟傻子一样整天就知道哈哈哈哈哈哈哈')); // HXMGSZYYZTJZDHHHHHHH
pyfl('罤夶繙着洗'); // TBFZX
pyfl('Pure'); // Pure
pyfl('Made by ❤'); // Made by ❤
pyfl('أشتون'); // أشتون
如果你想直接在 node
中里面使用的话:
const pyfl = require('pyfl').default;
pyfl('喵'); // M
pyfl('好笑吗跟傻子一样整天就知道哈哈哈哈哈哈哈')); // HXMGSZYYZTJZDHHHHHHH
pyfl('罤夶繙着洗'); // TBFZX
pyfl('Pure'); // Pure
pyfl('Made by ❤'); // Made by ❤
pyfl('أشتون'); // أشتون
pyfl
会把支持的汉字转换成大写的拼音输出出来。如果是英文或者奇怪的文字的话会原样输出出来。
如果这个库对你有帮助的话,希望你能在 github 上给我一个 star ~
1
jiejiss 2019-06-04 08:39:14 +08:00
不要在 util 库里输出,该抛异常抛异常。来个 console.error,我 log 乱了怪谁去……
而且我这看着咋觉得你的 catch 没用呢,try 里的代码真的能出 exception 吗…… 以及,好像不支持多音字,感觉有点太轻量了 |
2
Nbsaw OP @jiejiss 阿.. 其实是这样的这个库是很久之前写的了,只是用 ts 重构了一下。
关于 Log 那部分移掉了, 感谢提醒,本来是自己用的一个库,没特意去做类型检查。 就随便 catch 了一下。刚才在补上类型转换,检查之类的东东。 的确不支持多音字,这个我的确没注意到,我想想办法把它加上。 刚刚测了一下,如果是多音字有些的确挺奇怪的 .. 感谢你的意见 对我帮助很大 !! |
3
shawndev 2019-06-04 12:57:42 +08:00
拼音首字母是不是就不应该输出非拼音字符了
|
4
flowfire 2019-07-30 11:03:13 +08:00
遇到多音字的话会怎么处理
|