VB.Net Get Number from String —VB.Net從String 找出數字

今天在更新ShareChiWaiLib 中的XLSXHelper 時 想到一個新的功能.. 就是令到使用者可以自定加入一些Excel Cells 只要他們知道..想加的Excel 單元格的位置便可
例如: A2, X10等等…
由於Microsoft.Office.Interop.Excel 是以Column indexRow Index 來決定 單元格中的位置… 所以便要想辦法分析開英文字母的是Column Index 而數字是Row Index..

經過一段時間的Research…終於找到了一個算是有效率的方法解決這個問題…
就是使用Regular Expression 常規表達式來找出數字出來…

解決方法:
常規表達式中 d 是指 數字
而我們會包含有小數位的數字
所以我們的Regular Expression 會是這樣的
d*[.]d*|d+
以下是我所寫的程式碼…

Public Shared Function Get_NumberFromString(ByVal SourceString As String) As String
'Regular Expression for Number
        Dim RegExpress As New Regex("(d*[.]d*|d+)")
'Return the first match group
        Return RegExpress.Match(SourceString).Groups(0).Value
    End Function

這個功能已經加入了ShareChiWaiLib 中的StringFunc Helper Class
歡迎大家Download 來使用 和留言給我一些建議..怎麼可以令到這個Library 更有用等等

ShareChiWaiLib
http://sharechiwailib.codeplex.com/

Download 地點
http://sharechiwailib.codeplex.com/releases/

例子:

Dim Num as String = ShareChiWaiLib.StringFunc.Get_NumberFromString("ShareChiWai 1115.01 Blog Post")
MessageBox.Show(Num)

這會出現 “1115.01” 這個Popup Message

Hope you find it useful

Leave a Reply