ATREPL()
Search and replace sequences in a string
- Syntax
-
- ATREPL (<cStringToMatch>, <cString>, <cReplacement>, [<nCounter>],
- [<lMode>], [<nIgnore>]) --> cString
- Arguments
-
- <cStringToMatch> is the substring searched for in <cString> <cString> is the processed string <cReplacement> is the replacement for sequences found [<nCounter>] specifies the number of replacements Default: last occurence [<lMode>] if set to .T., only the <nCounter>th sequence of <cStringToMatch> will be replaced, else all sequences will be replaced. Default: .F. [<nIgnore>]) specifies how many characters in <cString> from the beginning should be ignored by the function Default: 0
- Returns
-
- <cString>
- Description
-
- The ATREPL() function searches and replaces sequences in a string. First, the function ignores the first <nIgnore> characters of <cString>. Then, if <lMode> is set to .T., it searches for the <nCounter>th occurence of <cStringToMatch> in <cString>. If successful, the sequence will be replaced with <cReplacement>. If <lMode> is set to .F., the same search is performed, but EVERY occurence of <cStringToMatch> till the <nCounter>th (inclusive) will be replaced with <cReplacement>. Note that, in this case, the replacements are performed even if the <nCounter>th occurence does not exist. By using the CSETATMUPA() switch you can decide whether the function restarts searching after a found sequence of after the first character of that sequence. The function allows the use of wildcards in <cStringToMatch> and looks for the settings of SETATLIKE().
Examples
? ATREPL("ABC", "ABCDABCDABC", "xx") --> "xxDxxDxx"
? ATREPL("ABC", "ABCDABC", "ZYXW") --> "ZYXWDZYXW"
? ATREPL("ABC", "ABCDABCDABC", "xx", 2) --> "xxDxxDABC"
? ATREPL("ABC", "ABCDABCDABC", "xx", 2, .T.) --> "ABCDxxDABC"
Tests
ATREPL("ABC", "ABCDABCDABC", "xx") == "xxDxxDxx"
ATREPL("ABC", "ABCDABC", "ZYXW") == "ZYXWDZYXW"
ATREPL("ABC", "ABCDABCDABC", "xx", 2) == "xxDxxDABC"
ATREPL("ABC", "ABCDABCDABC", "xx", 2, .T.) == "ABCDxxDABC"
- Status
- Ready
- Compliance
-
- ATREPL() is compatible with CT3's ATREPL(). Note the new, 6th parameter !
- Platforms
-
- All
- Files
-
- Source is atrepl.c, library is ct3.
- See Also