| 
 | 
								
									
										|  |  
										|  |  
										| |  Click here to copy the following block |  | Option Explicit 
 
 
 
 
 
 
 
 
 
 
 
 Enum sepType
 specialSep = 0
 
 spacesOnly = 1
 
 spacesAndSymbols = 3
 
 spacesSymbolsAndCtrl = 7
 
 spacesSymbolsCtrlAndDigits = 15
 
 End Enum
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Function ReplaceWordEx(Source As String, Find As String, ReplaceStr As String, _
 Optional ByVal Start As Long = 1, Optional Count As Long = -1, _
 Optional Compare As VbCompareMethod = vbBinaryCompare, _
 Optional separatorType As sepType = spacesSymbolsCtrlAndDigits, _
 Optional Separator As String = vbNullString) As String
 Dim findLen As Long
 Dim replaceLen As Long
 Dim index As Long
 Dim counter As Long
 Dim charcode As Integer
 Dim replaceIt As Boolean
 
 findLen = Len(Find)
 replaceLen = Len(ReplaceStr)
 
 
 If findLen = 0 Then Err.Raise 5
 
 If Start < 1 Then Start = 1
 index = Start
 
 
 ReplaceWordEx = Source
 
 Do
 index = InStr(index, ReplaceWordEx, Find, Compare)
 If index = 0 Then Exit Do
 
 replaceIt = False
 
 If index > 1 Then
 charcode = Asc(UCase$(Mid$(ReplaceWordEx, index - 1, 1)))
 Else
 charcode = 32
 End If
 
 
 If IsValidChar(charcode, separatorType, Separator) Then
 
 charcode = Asc(UCase$(Mid$(ReplaceWordEx, index + Len(Find), _
 1)) & " ")
 If IsValidChar(charcode, separatorType, Separator) Then
 
 ReplaceWordEx = Left$(ReplaceWordEx, index - 1) & ReplaceStr & _
 Mid$(ReplaceWordEx, index + findLen)
 
 index = index + replaceLen
 
 counter = counter + 1
 End If
 Else
 
 index = index + findLen
 End If
 
 
 Loop Until counter = Count
 
 End Function
 
 
 
 
 
 
 
 Private Function IsValidChar(char As Integer, separatorType As sepType, _
 Separator As String)
 Dim charType As Integer
 
 
 
 
 
 If separatorType = specialSep Then
 IsValidChar = (char = Asc(UCase$(Separator)))
 Exit Function
 End If
 
 
 Select Case char
 Case Is < 32
 charType = 4
 
 Case 32
 charType = 1
 
 Case Is < 48, Is > 90
 charType = 2
 
 Case Is < 58
 charType = 8
 
 Case Is < 65
 charType = 2
 
 Case Else
 charType = 0
 End Select
 
 IsValidChar = Not ((charType And separatorType) = 0)
 End Function
 | 
 |  
										|  |  
										|  |  
 
	
		| Submitted By :
					Nayan Patel 
					 (Member Since : 5/26/2004 12:23:06 PM) |  
		|  |  
		| 
				 | Job Description :   
			He is the moderator of this site and  currently working as an independent consultant. He works with VB.net/ASP.net, SQL Server and other MS technologies. He is MCSD.net, MCDBA and MCSE. In his free time he likes to watch funny movies and doing oil painting. |  
		| View all (893) submissions by this author 
			(Birth Date : 7/14/1981 ) |  |  |