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 StringByVal Replacement As StringAs String
            
If String.IsNullOrEmpty(Expression) Then
                
Return String.Empty
            
Else
                
Return Replace(Expression, Find, Replacement)
            
End If
        
End Function
posted on 2008-07-11 00:30  jeff377  阅读(4099)  评论(0编辑  收藏  举报