从NuGet上发现一个很好用的包可以实现该效果
这个包可以直接把单个汉子转换成拼音字符串,于是自己写了个函数实现对整个字符串的拼音转换
''' <summary>
''' 字符串转拼音
''' </summary>
''' <param name="chars"></param>
''' <returns></returns>
Public Function toPinyin(ByVal chars As String) As String
Dim pinyin As String = ""
Dim charArray() As Char = chars.ToCharArray
Dim ft As New Pinyin4net.Format.HanyuPinyinOutputFormat '自定义转换格式
ft.VCharType = Pinyin4net.Format.HanyuPinyinVCharType.WITH_V '使用v来表示韵母u,女=nv
ft.CaseType = Pinyin4net.Format.HanyuPinyinCaseType.LOWERCASE '使用小写
ft.ToneType = Pinyin4net.Format.HanyuPinyinToneType.WITHOUT_TONE '不带声标,否则会带数字第几声,例如:牛=niu2
For Each c As Char In charArray
pinyin &= Pinyin4net.PinyinHelper.ToHanyuPinyinStringArray(c, ft)(0)
Next
Return pinyin
End Function