StringReplace

首页  后退  前进

StringReplace
down2

StringReplace

替换字符串的子串.

 

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

参数

string

目标字符串

searchstring/start

搜索的子串或者是开始执行替换操作的字符位置

replacestring

替换字符串

occurrence

[可选] 替换"字符串"的数量. 如果为负数, 则从右侧开始替换

   0 = 所有匹配的字符串都将被替换 (默认)

casesense

[可选] 指定搜索是否区分大小写.

   $STR_NOCASESENSE (0) = 不区分大小写, 使用用户区域设置(默认)

   $STR_CASESENSE (1) = 区分大小写

   $STR_NOCASESENSEBASIC (2) = 不区分大小写, 使用基本/快速的比较方法

 

常量定义在 StringConstants.au3

返回值

返回替换后的字符串, 替换操作的数量保存在 @extended 中.

备注

默认或"occurrence"为正数,搜索/替换操作从左到右执行. 因此, StringReplace("aaa", "aa", "bb") 将返回 "bba"

 

若使用"起始位置"替换方式, 则"occurrence"及"casesense"参数将被忽略. 函数将从请求的位置开始替换"string"中的字符为"replacestring"中的字符. 然而, 如果"string"中没有足够的字符来供"replacestring"替换, 则返回空字符串并将 @error 设置为 1.

 

函数示例

#include <MsgBoxConstants.au3>
; Replace a blank space (' ') with a - (minus) character.
Local $sString = StringReplace("This is a sentence with whitespace.", " ", "-")
Local $iReplacements = @extended
MsgBox($MB_SYSTEMMODAL, "", $iReplacements & " replacements were made and the new string is:" & @CRLF & @CRLF & $sString)

----------------------------------------

 

该函数可以通过命令 exect 调用

参见:

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

例子
copy
$var_aa=StringReplace('это~~字符串~~текста','~~','---')

 

exect=$var_s1=StringReplace('это~~字符串~~текста','с','---')||$var_s2=StringReplace('это~~字符串~~текста',6,'+++') GLOBALEXECT<a> ;; 替换字符串中的片段

 

exect=$var_ss='Hello#пока'||$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=%L <FOR> 1 <TO> GLOBALSLIST<0> sends=x||##rndm<3|20>||#Hcrc32|1 start=Magick||-delay||$var_time||GLOBALSLIST<:INDEX:>||(||+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','''')||$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,'''')||$var_s=StringReplace('$var_s','~~','''')||$var_a=StringSplit('$var_s','''',2)||$var_a=_ArrayUnique($var_a)||_ArraySort($var_a,0,1) asave=var_a||"%P%O_sym.%E"||upd<1>||all||||code<1> ;; 使用_sym前缀写入ns文件,在UTF-16 LE 1200编码中的光标下的文件的唯一内容,删除换行符和空格后

 

exect=$var_put=##@[tc=AP]||$var_put=StringReplace('$var_put','\\','/')||_ViewValues('$var_put') ;; 替换活动面板路径中的斜线

up2

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