StringInStr

首页  后退  前进

StringInStr
down2

StringInStr

检查字符串是否包含指定的子串.

 

StringInStr ( "string", "substring" [, casesense = 0 [, occurrence = 1 [, start = 1 [, count]]]] )

参数

string

目标字符串.

substring

搜索的子字符串.

casesense

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

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

 $STR_CASESENSE (1) = 区分大小写

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

 

常量定义在 StringConstants.au3

occurrence

[可选] 指定子串在目标字符串的查找位置.

若设置为负数, 则从目标字符串右边开始搜索.

默认值为 1(搜索第一个匹配的子串)

start

[可选] 搜索的起始位置

count

[可选] 搜索的字符数. 限制查找完整字符串的一部分. 见备注

返回值

成功:

返回子串的开始位置.

失败:

返回 0, 未发现匹配子串.

@error:

1 = 参数 "开始" 或 "出现位置" 的指定值无效.

备注

第一个字符的位置为 1.

 

"数量" 参数必须大于被搜索的子串.

"数量" 参数结合 "开始" 参数可有效限制在完整目标字串中查找子串.

下面两个语句是等价的:

StringInStr("the string to search", "string", 0, 1, 1, 11)

StringInStr(StringMid("the string to search", 1, 11), "string")

 

函数示例

#include <MsgBoxConstants.au3>
; Retrieve the character position of where the string 'white' first occurs in the sentence.
Local $iPosition = StringInStr("This is a sentence with whitespace.", "white")
MsgBox($MB_SYSTEMMODAL, "", "The search string 'white' first appears at position: " & $iPosition)

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

 

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

参见:

StringRegExp, StringCompare, StringLeft, StringRight, StringTrimLeft, StringTrimRight, StringLen, StringMid, StringSplit

例子
copy
StringInStr('Это~~字符串','ОКА')

 

exect=StringInStr('Это~~字符串','ОКА') GLOBALEXECT<a> ;; 验证指定字符串中子字符串的发生

 

exect=$var_s=ClipGet()||$var_i=StringInStr('$var_s','\')||MsgBox(4096,'Результат','$var_i') GLOBALEXECT<a> ;;检查链接位置或在剪贴板中检查符号"\"的示例,变量$var_i为0或大于0的数字

 

exect=$var_s=ClipGet()||$var_i=StringInStr('$var_s','\') <IF> $var_i = 0 <THEN> brwsr=$var_s <ELSE> openf=$var_s||x||explorer<open> <ENDIF> ;; 根据剪贴板的内容打开:如果链接,然后在浏览器中,如果路径然后在编辑器中

 

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_i=(StringInStr(FileGetAttrib('%P%N'),'D')~~And~~FileExists('%P%N'))?1:0||_ViewValues($var_i) ;; 检查:返回1,如果在光标文件夹下,0  - 如果文件

 

exect=$var_i=StringInStr('|jpg|gif|png|','|%E|')?_CmdCm('infbx=InfoBox_TEST1'):_CmdCm('infbx=InfoBox_TEST2') - 检查3个扩展的例子,如果在光标下的扩展名相同,则输出消息#1,否则输出消息#2

 

up2

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