IfInString / IfNotInString

AutoHotkey

IfInString / IfNotInString

检查变量是否包含指定的字符串。

IfInString, var, SearchString
IfNotInString, var, SearchString
Position := InStr(Haystack, Needle [, CaseSensitive?, StartingPos]]) ; 请参阅 InStr() 函数了解详细信息。

参数

var

为寻找匹配而被搜索的 变量 名称.

SearchString

要搜索的字符串. 如果没有启用 StringCaseSense, 那么匹配过程不区分大小写.

备注

内置变量 %A_Space%%A_Tab% 分别包含单个空格和单个 tab 字符, 单独搜索这些字符时它们可能很有用.

另一个命令可以和此命令在同一行. 换句话说, 这两个语句是等同的:

IfInString, MyVar, abc, Gosub, Process1
IfInString, MyVar, abc
    Gosub, Process1

不过, 除命名命令外的其他项不支持与此命令在相同行. 例如:

IfInString, MyVar, abc, found := true  ; 无效的.

相关

InStr(), RegExMatch(), StringGetPos, StringCaseSense, IfEqual, if var in/contains MatchList, if var between, if var is type, 区块, Else

示例

Haystack = abcdefghijklmnopqrs
Needle = abc
IfInString, Haystack, %Needle%
{
    MsgBox, The string was found.
    return
}
else
    Sleep, 1