Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Is there a STRTRAN function which is not case sensitive
Message
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
00650635
Message ID:
00650816
Views:
25
>is there a Strtran function (or similar) which will replace text but in a case insensitive manner, e,g,
>
*	FUNCTION STRTRANC
*		A case-insensitive STRTRAN(). In other words, characters in either the
*		searched string or the string searched for are matched regardless of case, and
*		the replacement string inserted.

*	Parameters are in the same format as SUBSTR:
*						TYPE		REQ/OPT
*		tcSearched		C			REQ
*		tcSearchfor		C			REQ
*		tcReplace		C			OPT

*	Although some parameters are identified as required,
*	the routine recovers gracefully if they are of a different data type.
*	The developer may want to add notification in these cases

*	The function returns the value of the string as converted by the function.
FUNCTION   STRTRANC
PARAMETERS			tcSearched, tcSearchfor, tcReplace
LOCAL				llContinue, lcReturn, lcReplace, lnSearchForSize

lcReturn = IIF (VARTYPE (tcSearched) = "C", tcSearched, "")
IF NOT EMPTY (tcSearchfor) AND VARTYPE (tcSearchfor) = "C"
	llContinue = .T.
	lcReplace = IIF (VARTYPE (tcReplace) = "C", tcReplace, "")
	lnSearchForSize = LEN (tcSearchfor)

	lnStart = ATC (tcSearchfor, lcReturn)
	DO WHILE lnStart > 0
		lcReturn = LEFT (lcReturn, lnStart-1) + lcReplace + SUBSTR (lcReturn, lnStart + lnSearchForSize)
		lnStart = ATC (tcSearchfor, lcReturn)
	ENDDO

ENDIF
RETURN lcReturn
BOb
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform