Skip to content

Latest commit

 

History

History
51 lines (47 loc) · 2.07 KB

readme.md

File metadata and controls

51 lines (47 loc) · 2.07 KB

Pinyin.NET

NuGet NuGet
Pinyin.NET 汉字转换为拼音 拼音模糊搜索

1. 汉字转换为拼音

将汉字转换为带音调或不带音调的拼音
返回值为IEnumerable<IEnumerable>,
每个IEnumerable为一个汉字的拼音,
每个string为一个发音 如果输入的字符不是汉字,则返回值其本身

例如"到底"返回值为[["dao"], ["di","de"]] 例如"Stea mSt2等2待"返回值为[ ["stea"], ["m"], ["st2"], ["deng"],["2"], ["dai"]]

PinyinProcessor pinyinProcessor = new PinyinProcessor();
//PinyinProcessor pinyinProcessor = new PinyinProcessor(PinyinFormat.WithToneMark); //带音调
pinyinProcessor.GetPinyin("到底");//[["dao"], ["di","de"]]
pinyinProcessor.GetPinyin("到底",true);//[["到"],["底"],["dao"], ["di","de"]]

2. 拼音模糊搜索

在给的的数据源中的指定属性上进行拼音模糊搜索
支持拼音全拼 首字母 全拼和首字母混合搜索 (支持多音字)

 list.Add(new MyClass
        {
            Name = "高级安全WindowsDefender防火墙",
            Pinyin = pinyinProcessor.GetPinyin("高级安全WindowsDefender防火墙",true)});
 PinyinSearcher<MyClass> pinyinSearcher = new PinyinSearcher<MyClass>(list, "Pinyin");
 var search = pinyinSearcher.Search("anqwin");
foreach (var searchResult in search)
{
    Console.WriteLine($" {searchResult.Weight}  {searchResult.Source.Name}");
}
//输出 1  高级安全WindowsDefender防火墙

更新日志

1.1.0

  1. 重构 搜索算法
  2. 优化 汉字转拼音的

1.0.3

  1. 重构 搜索

1.0.2

  1. 优化 混合字符转拼音,现在会自动以大写字母和部分分隔符分割

1.0.1

  1. 优化 包含英文的字母的拼音转换
  2. 新增 泛型搜索类型
  3. 优化 添加对字典以及KeyValuePair支持
  4. 优化 权重计算