CHARREPL()
Replacement of characters
- Syntax
-
- CHARREPL (<cSearchString>, <[@]cString>,
- <cReplaceString>, [<lMode>]) -> cString
- Arguments
-
- <cSearchString> is a string of characters that should be replaced <[@]cString> is the processed string <cReplaceString> is a string of characters that replace the one of <cSearchString> [<lMode>] sets the replacement method (see description) Default: .F.
- Returns
-
- <cString> the processed string
- Description
-
- The CHARREPL() function replaces certain characters in <cString> with others depending on the setting of <lMode>. If <lMode> is set to .F., the function takes the characters of <cSearchString> one after the other, searches for them in <cString> and, if successful, replaces them with the corresponding character of <cReplaceString>. Be aware that if the same characters occur in both <cSearchString> and <cReplaceString>, the character on a certain position in <cString> can be replaced multiple times. if <lMode> is set to .T., the function takes the characters in <cString> one after the other, searches for them in <cSearchString> and, if successful, replaces them with the corresponding character of <cReplaceString>. Note that no multiple replacements are possible in this mode. If <cReplaceString> is shorter than <cSearchString>, the last character of <cReplaceString> is used as corresponding character for the the "rest" of <cSearchString>. One can omit the return value by setting the CSETREF() switch to .T., but then one must pass <cString> by reference to get the result.
Examples
? charrepl ("1234", "1x2y3z", "abcd") // "axbycz"
? charrepl ("abcdefghij", "jhfdb", "1234567890") // "08642"
? charrepl ("abcdefghij", "jhfdb", "12345") // "55542"
? charrepl ("1234", "1234", "234A") // "AAAA"
? charrepl ("1234", "1234", "234A", .T.) // "234A"
Tests
charrepl ("1234", "1x2y3z", "abcd") == "axbycz"
charrepl ("abcdefghij", "jhfdb", "1234567890") == "08642"
charrepl ("abcdefghij", "jhfdb", "12345") == "55542"
charrepl ("1234", "1234", "234A") == "AAAA"
charrepl ("1234", "1234", "234A", .T.) == "234A"
- Status
- Ready
- Compliance
-
- CHARREPL() is compatible with CT3's CHARREPL().
- Platforms
-
- All
- Files
-
- Source is charrepl.c, library is ct3.
- See Also