Strings.Replace 方法的注意事項

Strings.Replace 方法的注意事項

Strings.Replace 方法是用在字串取代常用方法,常用的呼叫方式如下

 

可是最近發現一個問題,就是當原字串為 String.Empty (空字串) 時,其傳回值會為 Nothing。

如下程式碼會發生「參考的物件具有 'Nothing' 的值」的錯誤訊息。因為原字串為空字串,透過 Strings.Replace 方法會傳回 Nothing,所以會造成這個錯誤。

 

所以在使用 Strings.Replace 方法要特別注意這點,防止發生異常的錯誤。而我的作法就是撰寫另一個 StrReplace 方法來取代 Strings.Replace 方法,防止這類錯誤。


        ''' 字串取代。
        ''' </summary>
        ''' <param name="Expression">原始字串。</param>
        ''' <param name="Find">搜尋的子字串。</param>
        ''' <param name="Replacement">取代的子字串。</param>
        Public Shared Function StrReplace(ByVal Expression As String, _
            ByVal Find As String, ByVal Replacement As String) As String
            If String.IsNullOrEmpty(Expression) Then
                Return String.Empty
            Else
                Return Replace(Expression, Find, Replacement)
            End If
        End Function

ASP.NET 魔法學院