知识大全 汉字拼音的一个完整解决方法
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是什么汉字拼音开头 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!K是什么汉字拼音开头k拼音开头汉
PHP将汉字转换拼音 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! PHP将汉字转换拼音是程序员
使用PHP获取汉字的拼音 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!复制代码代码如下:<?
ASP把汉字转化为拼音的函数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!拼音不够全面不推荐使用学
C#汉字转拼音功能类 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 此代码属改造而来没有太深的技
Java实现把汉字转化成拼音 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! GUI代码部分 /
Asp.net中将汉字转换成拼音的方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ///&l
——此文章摘自《Delphi开发经验技巧宝典》定价¥ 特价¥购买>>//tracklinktechcn/?m_id=dangdang&
——此文章摘自《Delphi开发经验技巧宝典》定价¥ 特价¥购买>>//tracklinktechcn/?m_id=dangdang&
为什么搜狗输入法这样啊!打上许多拼音而汉字只有几个显示不全?设定里面你看一下,要设全拼,中文,半形!为什么只有QQ拼音一种输入法,搜狗输入法下载却不显示?唉,回答好多类似的问题了。首先,你要确定你安装