но уже для следующего символа.
символам строки <cString>. При наличии производится замена и цикл
повторяется, но уже для следующего символа. Таким образом, ранее
замененные символы дальнейшим преобразованиям не подвергаются.
Следует внимательно относиться к выбору режима <lMode>, если одни и
те же символы встречаются и в <cSearchFor>, и в <cReplaceExpression>
(см. Примеры).
Примечания
. Если список <cReplaceExpression> короче, чем <cSearchFor>, то
вместо недостающих символов используется последний символ из
<cReplaceExpression> (см. Примеры).
. Параметр <cString> может быть передан по ссылке. При этом вызов
CSETREF(.T.), подавляющий возвращение функцией результата, позволяет
уменьшить потребности в рабочей памяти.
Примеры
. Замена "1" на "a", "2" - на "b" и т.д. Если в строке символов
будет содержаться символ "4", он заменится на "d":
? CHARREPL("1234", "1x2y3z", "abcd") // "axbycz"
. Замена букв от "а" до "j" символами от "0" до "9". Например, "f"
меняется на "6":
? CHARREPL("abcdefghij", "jhfdb", "1234567890") // "08642"
. Заменяющих символов меньше, чем заменяемых. Поэтому буквы от "f"
до "j" заменяются последним символом из списка "12345":
? CHARREPL("abcdefghij", "jhfdb", "12345") // "55542"
. Влияние режима многократного просмотра:
? CHARREPL("1234", "1234", "234A") // "AAAA"
? CHARREPL("1234", "1234", "234A", .T.) // "234A"