Клиппер 5. Справочник

но уже для следующего символа.


    символам строки <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"
 

Содержание раздела