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