知识大全 汉字拼音的一个完整解决方法

Posted 拼音

篇首语:对于攀登者来说,失掉往昔的足迹并不可惜,迷失了继续前时的危险。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 汉字拼音的一个完整解决方法相关的知识,希望对你有一定的参考价值。

  Imports System IO Imports System Text RegularExpressions Namespace Businness PinYin Public Class PYService Private gDataSet As New dsPinYin <summary> 汉字表 </summary> Public ReadOnly Property PinYinTable() As dsPinYin PinYinDataTable Get Return gDataSet PinYin End Get End Property Private gTxtFile As String = AppDomain CurrentDomain SetupInformation ApplicationBase & pinyin txt Private gxmlFile As String = AppDomain CurrentDomain SetupInformation ApplicationBase & pinyin xml Private gRegex As New Regex( (?<Word>^[\\u e \\u fa ]+)(?<PingYin> *) ) <summary> 加载汉字库 文件名为pinyin xml 在程序当前目录下 </summary> Public Sub Load() If Not IO File Exists(gxmlFile) Then Throw New Exception(String Format( 文件 不存在 gxmlFile)) End If DataSetInitialize() gDataSet ReadXml(gxmlFile) End Sub <summary> 从汉字文件中更新 文件名为pinyin txt 在程序当前目录下 </summary> <remarks></remarks> Public Sub Update() If Not IO File Exists(gTxtFile) Then Throw New Exception(String Format( 文件 不存在 gTxtFile)) End If UpdateFromTxt(gTxtFile) End Sub <summary> 保存汉字库 文件为pingyin xml 在程序当前目录下 </summary> <remarks></remarks> Public Sub Save() gDataSet WriteXml(gxmlFile) End Sub

  Private Sub DataSetInitialize() 在更新或读入时 清除 Me gDataSet Clear() Me gDataSet AcceptChanges() End Sub Private Sub UpdateFromTxt(ByVal file As String)DataSetInitialize() Dim mLine As String Dim mBuilder As New System Text StringBuilder Dim mReader As New IO StreamReader(file System Text Encoding Default) Do mLine = mReader ReadLine Add(mLine) Loop Until String IsNullOrEmpty(mLine) mReader Close() mReader Dispose() Me gDataSet PinYin AcceptChanges() End Sub Private Sub Add(ByVal line As String) If line Is Nothing Then Exit Sub With gRegex Match(line) If Success Then 只取单字 不取词组 If Groups( Word ) Value Length = Then Add( Groups( Word ) Value Groups( PingYin ) Value) End If End If End With End Sub Private Sub Add(ByVal word As String ByVal py As String) 多音的 拼音间用单个空枨符隔开 py = py Trim Replace( ) Dim mCode As String = ChineseCode(word) Dim mRow As dsPinYin PinYinRow = Me gDataSet PinYin FindBy代码(mCode) If mRow Is Nothing Then Me gDataSet PinYin AddPinYinRow(word mCode py) Else

  Dim pyArray() As String = py Split( c) For Each s As String In pyArray If Not mRow 拼音 Contains(s) Then mRow 拼音 = String Concat(mRow 拼音 & s)End If Next End If End Sub <summary> 将字符串转为拼音 </summary> <param name= line >字符串</param> <param name= isgetfirst >如是多音字 取第一个拼音</param> Public Function ToPinyin(ByVal line As String ByVal isgetfirst As Boolean) As String Dim mBuilder As New Text StringBuilder

  For Each s As Char In line ToCharArray If IsTrue(s) Then mBuilder Append(GetPinyin(s isgetfirst)) Else mBuilder Append(s) End If Next Return mBuilder ToString End Function Private Function GetPinyin(ByVal word As String ByVal isgetfirst As Boolean) As String Dim mResult As String = word Dim mArray As String() = PinYinArray(ChineseCode(word)) 取拼音组 If Not mArray Is Nothing Then If mArray Length = Or isgetfirst Then mResult = mArray( ) 单音的 Else mResult = String Format( ( ) String Join( mArray)) 多音的用括号括住 拼音间用逗号隔开 End If End If Return mResult End Function 取拼音组 Private Function PinYinArray(ByVal code As String) As String() Dim mRow As dsPinYin PinYinRow = Me gDataSet PinYin FindBy代码(code) If mRow Is Nothing Then Return Nothing

cha138/Article/program/net/201311/13826

相关参考

知识大全 K是什么汉字拼音开头

K是什么汉字拼音开头  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!K是什么汉字拼音开头k拼音开头汉

知识大全 PHP将汉字转换拼音

PHP将汉字转换拼音  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  PHP将汉字转换拼音是程序员

知识大全 使用PHP获取汉字的拼音

使用PHP获取汉字的拼音  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!复制代码代码如下:<?

知识大全 ASP把汉字转化为拼音的函数

ASP把汉字转化为拼音的函数  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!拼音不够全面不推荐使用学

知识大全 C#汉字转拼音功能类

C#汉字转拼音功能类  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  此代码属改造而来没有太深的技

知识大全 Java实现把汉字转化成拼音

Java实现把汉字转化成拼音  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  GUI代码部分  /

知识大全 Asp.net 中将汉字转换成拼音的方法

Asp.net中将汉字转换成拼音的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ///&l

知识大全 如何获取汉字拼音简码[2]

    ——此文章摘自《Delphi开发经验技巧宝典》定价¥ 特价¥购买>>//tracklinktechcn/?m_id=dangdang&

知识大全 如何获取汉字拼音简码[1]

    ——此文章摘自《Delphi开发经验技巧宝典》定价¥ 特价¥购买>>//tracklinktechcn/?m_id=dangdang&

知识大全 打上许多拼音而汉字只有几个显示不全

为什么搜狗输入法这样啊!打上许多拼音而汉字只有几个显示不全?设定里面你看一下,要设全拼,中文,半形!为什么只有QQ拼音一种输入法,搜狗输入法下载却不显示?唉,回答好多类似的问题了。首先,你要确定你安装