博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

U码转汉字的VS2005的宏

Posted on 2007-05-14 19:57  hnboy  阅读(307)  评论(0编辑  收藏  举报
在vs2005里的"工具"->"宏资源管理器"->"新建模块",将宏代码复制以建立一个宏,
然后打开某个.cs文件.在新建的宏上右键点"运行",就可将当前的.cs文件的U码转为汉字...
U码转汉字的VS2005的宏:
Imports EnvDTE
Imports System.Globalization
Imports System.Text.RegularExpressions
Imports System.Diagnostics
Public Module Birdshome
    Sub Unicode2Character()
        Dim doc As Document = DTE.ActiveDocument
        Dim docText As TextDocument = doc.Object
        Dim selText As TextSelection = docText.Selection()
        selText.SelectAll()
        Dim text As String = selText.Text
        Dim iLength As Integer
        Do
            iLength = text.Length
            Dim m As Match
            Dim strPattern As String = "(?<code>\\u[A-F0-9]{4})"
            m = Regex.Match(text, strPattern, RegexOptions.IgnoreCase)
            If m.Success Then
                Dim strValue As String
                strValue = m.Groups("code").Value
                text = text.Replace(strValue, "")
                Dim int As Integer
                int = System.Int32.Parse(strValue.Substring(2, 4), NumberStyles.HexNumber)
                Dim ch As Char = ChrW(int)
                docText.ReplacePattern(strValue, ch)
            Else
                Exit Do
            End If
            If Not text.Length < iLength Then
                Exit Do
            End If
        Loop
        selText.StartOfDocument()
    End Sub
End Module