Перейти на главную страничку сайта (список статей, файлы для скачивания)

ФОРУМ (здесь можно обсудить эту статью, а также саму программу AutoHotkey и проблемы её использования)

Проект перевода документации AutoHotkey: перечень переведённых статей и статей в работе.

Оригинал статьи в AutoHotkey.chm: "StringReplace", в содержании - "String Management" - "StringReplace", v1.0.46.07.

Ник переводчика: NikVasKo.

Настоящее имя переводчика: Николай Козлов, г. Москва.

StringReplace

Заменяет во входной строке указанную подстроку на новую.

StringReplace, OutputVar, InputVar, SearchText [, ReplaceText, ReplaceAll?]

Параметры

OutputVar Имя переменной, в которой сохраняется результат замещения.
InputVar Имя переменной, в которой хранится читаемый текст. Не надо заключать его в знаки процента, если вы не хотите, чтобы значение переменной использовалось как имя.
SearchText Строка, которая будет искаться. Для нахождения не требуется совпадение регистров букв, если не была активизирована команда StringCaseSense.
ReplaceText Этим текстом будет замещен SearchText. Если параметр пропущен или пустой, SearchText будет замещен пустым. То есть, он будет убран из OutputVar.
ReplaceAll? Если параметр пропущен, то будет замещено только первое вхождение SearchText'а. Но если параметр установить в 1, A, All или UseErrorLevel, то будут замещены все вхождения. Если параметр равен UseErrorLevel, то в переменной ErrorLevel сохранится число замещений (0, если замещений не было). Иначе при неудачном поиске ErrorLevel устанавливается в 1, а при удачном в 0.

Примечания

В этой, как и в других командах, OutputVar и InputVar могут совпадать.

Встроенные переменные %A_Space% и %A_Tab% содержат по одному символу пробела и табуляции соответственно. Они применяются, если надо найти один пробел или табуляцию в начале или в конце значения переменной SearchText.

В версиях до 1.0.45 была еще опция AllSlow. Теперь она стала ненужной ввиду улучшения производительности. Ее можно указывать, но она не будет иметь эффекта.

Примеры

; Удаляет все CR+LF из содержимого системного буфера:
StringReplace, clipboard, clipboard, `r`n, , All

; Замещает все пробелы на плюсы:
StringReplace, NewStr, OldStr, %A_SPACE%, +, All

; Удаляет все пустые строки из текста в переменной:
Loop
{
    StringReplace, MyString, MyString, `r`n`r`n, `r`n, UseErrorLevel
    if ErrorLevel = 0 ; Более замен не требуется.
        break
}

Перейти на главную страничку сайта (список статей, файлы для скачивания)

© 2007 http://www.script-coding.com При любом использовании материалов сайта обязательна ссылка на него как на источник информации, а также сохранение целостности и авторства материалов.