// Access: public
//
// Arguments:
// as_Source The string being searched.
// as_Old The old string being replaced.
// as_New The new string.
// ab_IgnoreCase A boolean stating to ignore case sensitivity.
//
// Returns: string
// as_Source with all occurrences of as_Old replaced with as_New.
// If any argument's value is NULL, function returns NULL.
//
// Description: Replace all occurrences of one string inside another with
// a new string.
Long ll_Start
Long ll_OldLen
Long ll_NewLen
String ls_Source
//Check parameters
If IsNull(as_source) or IsNull(as_old) or IsNull(as_new) or IsNull(ab_ignorecase) Then
string ls_null
SetNull(ls_null)
Return ls_null
End If
//Get the string lenghts
ll_OldLen = Len(as_Old)
ll_NewLen = Len(as_New)
//Should function respect case.
If ab_ignorecase Then
as_old = Lower(as_old)
ls_source = Lower(as_source)
Else
ls_source = as_source
End If
//Search for the first occurrence of as_Old
ll_Start = Pos(ls_Source, as_Old)
Do While ll_Start > 0
// replace as_Old with as_New
as_Source = Replace(as_Source, ll_Start, ll_OldLen, as_New)
//Should function respect case.
If ab_ignorecase Then
ls_source = Lower(as_source)
Else
ls_source = as_source
End If
// find the next occurrence of as_Old
ll_Start = Pos(ls_Source, as_Old, (ll_Start + ll_NewLen))
Loop
Return as_Source
Monday, May 7, 2007
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment