SubStr()

AutoHotKey

SubStr() [v1.0.46+]

复制字符串中指定位置开始的一个或多个字符.

NewStr := SubStr(String, StartingPos [, Length])

参数

String

要进行复制操作的字符串.

StartingPos

指定 1 从首个字符开始, 2 从第二个开始等 (如果 StartingPos 超过了 String 长度, 则返回空字符串). 如果 StartingPos 小于 1, 那么它被看成是从字符串末尾开始的偏移. 例如, 0 提取最后一个字符而 -1 提取最后两个字符 (但如果 StartingPos 超过了字符串的左端, 则提取又从首个字符开始). .

Length

如果省略这个参数(默认如此), 则表示 "全部字符". 其他情况下, 为需提取字符的最大数目 (当字符串剩余部分太短时提取的数目会比最大值少). 您还可以指定负的 Length 从而在返回字符串的末尾省略这个数目的字符(如果省略了全部或过多字符则返回空字符串).

返回值

这个函数返回请求的 String 的一部分.

备注

功能上 SubStr 函数和 StringMid 命令相同. 但是, 推荐使用 SubStr, 因为它比 StringMid 更灵活, 且能得到更长久的更新支持.

相关

RegExMatch(), StringMid, StringLeft/Right, StringTrimLeft/Right

示例

; 例 1
MsgBox % SubStr("123abc789", 4, 3) ; 返回 abc

; 例 2
String := "The Quick Brown Fox Jumps Over the Lazy Dog"
MsgBox % SubStr(String, 1, 19)  ; 返回 "The Quick Brown Fox"
MsgBox % SubStr(String, -7)  ; 返回 "Lazy Dog"