C#开源敏感词检测库ToolGood.Words中的类WordsHelper为文本辅助操作类,支持繁体简体互换、全角半角互换、数字转成中文大写、拼音操作等功能,本文对照参考文献1,对该类的用法进行简要介绍。
WordsHelper类中主要的辅助函数如下表所示:
| 序号 | 名称 | 说明 |
|---|---|---|
| 1 | GetAllPinyin | 获取单个字符的所有拼音,本函数主要针对多音字,能够返回字符所有的拼音集合,如“好”返回Hao,“查”返回cha和zha。本函数还支持带声调返回,更利于生僻字拼读。 |
| 2 | GetFirstPinyin | 获取字符串中每个字符的首字母集合,如“我是中国人”返回WSZGR |
| 3 | GetPinyin | 函数形式为string GetPinyin(string text, bool tone = false),获取字符串中每个字符的拼音全拼集合,如“我是中国人”返回WoShiZhongGuoRen,支持带声调返回,如WǒShìZhōngGuóRén |
| 4 | GetPinyin | 函数形式为string GetPinyin(string text, string splitSpan, bool tone = false),该函数与上一函数为重载函数,唯一区别是支持以指定字符分割每个字符的拼音全拼,如“我是中国人”返回Wo,Shi,Zhong,Guo,Ren |
| 5 | GetPinyinList | 获取字符串中每个字符的拼音全拼,以数组形式返回 |
| 6 | GetPinyinForName | 获取字符串中每个字符的拼音全拼,优先选用姓氏的拼音,如“查文斌“,本函数返回ZhaWenBin,而GetPinyin 返回ChaWenBin |
| 7 | GetPinyinForName | 上一函数的重载函数,唯一区别是支持以指定字符分割每个字符的拼音全拼 |
| 8 | GetPinyinListForName | 获取字符串中每个字符的拼音全拼,优先选用姓氏的拼音,以数组形式返回 |
| 9 | HasChinese | 判断字符串中是否包含中文 |
| 10 | IsAllChinese | 判断字符串中是否全中文 |
| 11 | HasEnglish | 判断字符串中是否包含英文 |
| 12 | IsAllEnglish | 判断字符串中是否全英文 |
| 13 | ToSBC | 半角转全角 |
| 14 | ToDBC | 文字转半角 |
| 15 | ToTraditionalChinese | 函数形式为string ToTraditionalChinese(string text, int type = 0), 简体转繁体,支持转为多种类型的繁体,包括0、繁体中文,1、港澳繁体,2、台湾正体 |
| 16 | ToSimplifiedChinese | 函数形式为string ToSimplifiedChinese(string text, int srcType = 0),繁体转简体,支持将多种类型的繁体转为简体,包括0、繁体中文,1、港澳繁体,2、台湾正体 |
| 17 | ToChineseRMB | 将阿拉伯数字转为中文人民币的形式 |
| 18 | ToNumber | 将中文人民币形式的文本转为阿拉伯数字 |
根据上述函数定义,设计并开发了WordsHelper类的使用测试程序,同时结合之前学习的.net文字转语音模块System.Speech,在文字转拼音时能自动朗读文字,测试程序比较简单,就不再这里列出来了,程序的运行效果如下:

测试代码放在了GitHub上,地址为https://github.com/guochao2299/TestToolGoodWords,后续还会继续学习该库的用法(不过该开源项目已经停更了,已经在GitHub的代码注释中说明)。
参考文献:
[1]https://github.com/toolgood/ToolGood.Words



















