Описание функции


StringRegExpReplace

Заменяет текст строки, используя регулярное выражение.

StringRegExpReplace('test','pattern','replace'[,count=0])

Параметры

test Строка для поиска
pattern Образец для поиска (шаблон). См. StringRegExp для создания шаблона.
replace Текст замены регулярного выражения. Чтобы вставить текст группы используйте, \0 - \9 (или $0 - $9) как обратную ссылку.
count [необязательный] Количество замен в строке. По умолчанию 0 - выполняет замену всех найденных образцов.

Возвращаемое значение

Успех:Возвращает строку преобразованную регулярным выражением. @extended содержит количество выполненных замен.

Примечания

Для разделения обратных ссылок от фактических (заменяемых) чисел, обрамите ссылки фигурными скобками: "${1}5".
Если необходимо использовать обратную наклонную черту "\" в строке замены (параметр replace), она должна дублироваться "\\". Это является следствием использования обратных ссылок в строке замены.

Функцию можно подключить через команду exect
Для передачи пустой строки можно воспользоваться ключевым словом Null
Для передачи значения по умолчанию можно воспользоваться ключевым словом Default

См. также

StringRegExp, StringReplace

Примеры:
 Как создать кнопку?


exect=$var_s1=StringRegExpReplace('замена~~гласных~~на~~символ~~-','[аяэеоёуюиы]','-')||$var_s2=StringRegExpReplace('Удаляет~~<i>теги</i>~~в~~html','<i>(.*?)</i>','$1') GLOBALEXECT<a> ;; заменяет текст строки, используя регулярное выражение

exect=$var_item=StringRegExpReplace(ClipGet(),'[\r\n]+','|') folds="%p"||[combo=BOX_XX] ;; пример передачи списка из буфера обмена в параметр [combo]

exect=$var_s1=StringRegExpReplace('test~~del~~char~~b~~abcdabcd','[b]',Null) GLOBALEXECT<a> ;; удалить символ "b" из строки

vends=x||?V|##|Execute(StringRegExpReplace('3453645567567785675467456','(.)','$1+')&0) GLOBALVENDS<a> ;; суммировать цифры заданного числа

vends=x||?V|##|Execute(StringRegExpReplace('3453645567567785675467456','(..)','$1+')&0) GLOBALVENDS<a> ;; суммировать цифры (по два) заданного числа

vends=x||?V|##|Execute(StringRegExpReplace('3453645567567785675467456','(...)','$1+')&0) GLOBALVENDS<a> ;; суммировать цифры (по три) заданного числа

vends=x||?V|##|Execute(StringRegExpReplace(ClipGet(),'(.)','$1+')&0) GLOBALVENDS<a> ;; суммировать номера числа из буфера обмена

bends=1,3,5,7??-6,||?V|##|StringRegExpReplace('::','(\d+)(,|$)','Number(${1}+15)${2}') GLOBALBENDS<a> ;; прибавить 15 к числам

bends=1,3,5,7??-6,||?V|##|StringRegExpReplace('::','(\d+)','Number(${1}+15)') GLOBALBENDS<a> ;; прибавить 15 к числам

yends=1a2b3c,5a6v7hs??-6, GLOBALYENDS<a> slist=$GLOBALYENDS||?V|$$|'='&StringRegExpReplace('::','\d',Null) GLOBALSLIST<a> ;; получить символы заданных строк

yends=1a2b3c,5a6v7hs??-6, GLOBALYENDS<a> slist=$GLOBALYENDS||?V|$$|'='&StringLen(StringRegExpReplace('::','\d',Null)) GLOBALSLIST<a> ;; получить количество символов заданных строк


© Аверин Андрей для Total Commander Image  Averin-And@yandex.ru