https://github.com/hotoo/pinyin
    中文文档 https://pinyin.js.org

    1. // yarn add pinyin
    2. import pinyin from "pinyin";
    3. pinyin("中心", {
    4. style: "initials", // 设置拼音风格。
    5. heteronym: true, // 即使有多音字,因为拼音风格选择,重复的也会合并。
    6. })
    7. export interface IPinyinOptions {
    8. style?: IPinyinStyle; // 拼音输出形式
    9. mode?: IPinyinMode, // 拼音模式
    10. // 指定分词库。
    11. // 为了兼容老版本,可以使用 boolean 类型指定是否开启分词,默认开启。
    12. segment?: IPinyinSegment | boolean;
    13. // 是否返回多音字
    14. heteronym?: boolean;
    15. // 是否分组词组拼音
    16. group?: boolean;
    17. compact?: boolean;
    18. }
    1. 首先有个拼音字典
    2. 拼音分词,核心算法其实就是 word-break
      1. 给定一个字符串s,和单词字典dict;求出s根据dict拆分出的所有可能
      2. 拼音分词参考 https://github.com/sxei/pinyinjs
    3. 拼音的匹配规则
      1. 一种不包含多音字,
      2. 一种包含多音字