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