☆ 有些事現在不做,就一輩子都不會做了 ☆


最新回應

Strings.Replace 方法的注意事項

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

Strings.Replace("原字串","尋找的字串","取代的字串")

 

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

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

Strings.Replace(string.Empty,"@","").Length

 

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

        ''' <summary>
        ''' 字串取代。
        ''' </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 魔法學院


關連文章

字串中尋找關鍵字片段

物件序列化函式庫

計算二個日期經過幾月又幾天

回應

  • # re: Strings.Replace 方法的注意事項 by 路人

    前面加一個判斷是就好有需要寫一個Function  嗎?

     

    2008/7/11 下午 12:59 | 回覆

  • # re: Strings.Replace 方法的注意事項 by jeff377

    每個使用的地方都要另外判斷,那會比寫一個 function 更方便嗎?

    2008/7/11 下午 01:02 | 回覆

  • # re: Strings.Replace 方法的注意事項 by 卡通服装

    点解?

    2008/11/25 下午 03:03 | 回覆

登入後使用進階評論

Please add 4 and 4 and type the answer here: