.TEXT FIND AND REPLACE
This subroutine finds and replaces text in a text/alpha field.
Usage:
PASS <text_field> FIELD SHARE? Y
PASS <search_text> FIELD SHARE? N
PASS <replace_with> FIELD SHARE? N
PASS <no_of_replacements> FIELD SHARE? Y
PASS <skip> FIELD SHARE? N
PASS <max_no_replace> FIELD SHARE? N
PASS <start_of_text> FIELD SHARE? N
PASS <len_of_text> FIELD SHARE? N
PASS <start_of_search> FIELD SHARE? N
PASS <len_of_search> FIELD SHARE? N
PASS <start_of_replace> FIELD SHARE? N
PASS <len_of_replace> FIELD SHARE? N
GOSUB --- .TEXT FIND AND REPLACE
* Check for errors
IF --- .TEXT FIND AND REPLACE NE
Description:
This subroutine finds and replaces text in a text/alpha field. The first 2 parameters are required. If any required parameters are missing, the subroutine will CANCEL.
<text_field> is the text to be modified (Required). This must be PASSed with Share "Y" to return the value.
<search_text> is the text to be searched for (Required).
<replace_with> is the replacement text (Optional). If not PASSed this routine will 'cut' the the <search_text> from <text_field>. This is different from PASSing a blank field, if you pass a blank field, then blanks will be inserted into <text_field>. The number of blanks will depend on the <len_of_replace> field below.
<no_of_replacements> returns the number of times the text was replaced (Optional). This must be PASSed with Share "Y" to return the value.
<skip> is the number of occurrences of <search_text> to skip before beginning replacement (Optional). If not PASSed, all occurrences will be replaced.
<max_no_replace> is the maximum number of replacements you want performed (Optional). If not PASSed or a blank/zero value is PASSed, all occurrences will be replaced. For example, if you only want the first 2 occurrences replaced, PASS 0 for <skip> and 2 for <max_no_replace>, or if you only want the 3rd & 4th occurrences replaced, PASS 2 for <skip> and 2 for <max_no_replace>. You can also PASS -1 to indicate all occurrences.
<start_of_text> is the starting position in <text_field> to begin the search (Optional). If not PASSed or a blank/zero value is PASSed, <text_field> will be searched starting at position 1.
<len_of_text> is the number of characters from <start_of_text> to be searched (Optional). If not provided, <text_field> will be searched to the end of the field.
<start_of_search> is the starting position in <search_text> to use (Optional). If not PASSed or a blank/zero value is PASSed, <search_text> starting at position 1 will be used.
<len_of_search> is the number of characters from <start_of_search> to be used (Optional). If not provided, <search_text> will be used to the end of the field.
<start_of_replace> is the starting position in <replace_with> to use (Optional). If not PASSed or a blank/zero value is PASSed, <replace_with> starting at position 1 will be used.
<len_of_replace> is the number of characters from <start_of_replace> to be used (Optional). If you PASS a zero or blank, <search_text> will be 'cut' from <text_field>. If not PASSed at all, <replace_with> will be used to the end of the field.
Notes:
- This is a case sensitive search, regular expressions are not allowed.
- This subroutine is designed to operate on Alpha, Text, and Token fields only. The returned results are undefined if you specify any other type of field.
Read what other users have said about this page or add your own comments.
--
JeanNeron - 2012-02-10