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


StringReplace

Заменяет фрагмент в строке.

StringReplace('string','searchstring/start','replacestring'[,occurrence=0[,casesense=0]])

Параметры

string Строка, в которой выполняется замена.
searchstring/start Строка поиска или позиция символа начала замены.
replacestring Строка замены.
occurrence [необязательный] Количество выполняемых замен. Используйте отрицательное число, чтобы выполнить замену справа.
0 = выполнить замену всех найденных строк (по умолчанию)
casesense [необязательный] Флаг установки чувствительности к регистру написания.
0 = (по умолчанию) не учитывать регистр, используется локальный язык
1 = учитывать регистр
2 = не учитывать регистр, используется основное / быстрое сравнение

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

Возвращает новую строку, в @extended содержится число замен.

Примечания

По умолчанию или при положительном occurrence поиск/замена производится слева направо. Таким образом, StringReplace('aaa','aa','bb') возвращает 'bba'

Если используется метод замены в указанной позиции, то параметры occurrence и casesense игнорируются. Если замена строки не может быть сохранена, то возвращается пустая строка и @error устанавливается равным 1.

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

См. также

StringRegExpReplace, StringInStr, StringStripWS, StringAddCR, StringLeft, StringLen, StringMid, StringRight, StringTrimLeft, StringTrimRight

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


exect=$var_s1=StringReplace('это~~строка~~текста','с','---')||$var_s2=StringReplace('это~~строка~~текста',6,'+++') GLOBALEXECT<a> ;; заменяет фрагмент в строке

exect=$var_ss='привет#пока'||$var_ss=StringReplace('$var_ss','#',Chr(124)&Chr(124))||_ViewValues('$var_ss') ;; пример замены в строке переменной $var_ss символа # на 2-а символа ||

imgpr=1 shape=V08 exect=$var_time=##[combo=BOX_V19]||$var_clon=##[group=BOX_V07]||$var_anim=##[combo=BOX_V55]||$var_norm=##[group=BOX_V08]||$var_dup=##[group=BOX_V09]||$var_dup=StringReplace('$var_dup','**',Chr(124)&Chr(124))||$var_qual=##[combo=BOX_V07] forpgs slist=%WL <FOR> 1 <TO> GLOBALSLIST<0> sends=x||##rndm<3|20>||#Hcrc32|1 start=Magick||-delay||$var_time||GLOBALSLIST<:INDEX:>||(||&#43;clone|$var_clon||)||-morph||$var_anim|$var_dup|$var_norm||-quality||$var_qual||"%pAnim-mirror-GLOBALSENDS<1>-<info=o72GLOBALSLIST<:INDEX:>//>.gif"||&&hide||&&wait <NEXT> ;; создание анимации для изображения под курсором на основе зеркалирования изображения
exect=$var_a=StringSplit(StringReplace('??%%COMMANDER_PATH%%\TCIMG.exe?~~?openup??|??%%COMMANDER_PATH%%\Utilities\TotalCom\ChoiceEditor\ChoiceEditor.exe??','?',Chr(34)),'|')||$var_sc=EnvGet('COMMANDER_INI')||$var_sp=IniRead('$var_sc','Configuration','Editor',Null)||$var_is=StringInStr('$var_sp','TCIMG')?2:1||IniWrite('$var_sc','Configuration','Editor',$var_a[$var_is]) rstart ;; переключение программы просмотра по F4 с перезагрузкой

exect=$var_s=FileRead('%P%N')||$var_s=StringReplace('$var_s',@CRLF,Null)||$var_s=StringReplace('$var_s','~~',Null)||$var_a=StringSplit('$var_s',Null,2)||$var_a=_ArrayUnique($var_a)||_ArraySort($var_a,0,1) asave=var_a||"%P%O_sym.%E"||upd<1>||all||||code<1> ;; записать в именной файл с приставкой _sym уникальные символы содержимого файла под курсором в кодировке UTF-16 LE 1200, предварительно удалив переносы строк и пробелы

exect=$var_put=##@[tc=AP]||$var_put=StringReplace('$var_put','\\','/')||_ViewValues('$var_put') ;; заменить слеш в пути активной панели

exect=SplashTextOn('Заголовок',StringReplace(ClipGet(),'&','&&'),200,50)&Sleep(3000)&SplashOff() ;; пример окна с текстом из буфера обмена (удвоение для корректного отображения символа "&")

exect=$var_tc=##<info=x60>||$var_rp=StringReplace($var_tc=32?'=TC_ICON.dll,,1!!=TC_ICON.dll,,2':'=TC_ICON.dll,,2!!=TC_ICON.dll,,1',',,',',') textt=$f85||$var_rp tc3264 ;; Перезапуск Total Commander с переключением x32/x64 и установкой иконки соответствующей разрядности на активной панели (библиотеку положите в корень TC http://tc-image.3dn.ru/Files/dll/TC_ICON.ZIP)

exect=$var_s=StringReplace(StringFormat('%%100s',''''),'~~','abcde')||_ViewValues('$var_s') ;; размножить строку 100 раз


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