SubStr() [v1.0.46+]

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

NewStr := SubStr(String, StartingPos , Length)

参数

String

要进行提取的字符串.

StartingPos

指定 1 从首个字符开始, 2 从第二个开始, 依此类推. 如果 StartingPos 超过了 String 长度, 则返回空字符串.

如果 StartingPos 小于 1, 那么它被看成是从字符串末尾开始的偏移. 例如, 0 表示从最后一个字符开始, 而 -1 从倒数第 2 个字符开始(但如果 StartingPos 超过了字符串的左端, 则提取从首个字符开始).

Length

如果省略, 则默认为 "全部字符". 如果为空, 默认 0. 否则, 请指定为需提取字符的最大数目(当字符串剩余部分太短时提取的数目会比最大值少).

您还可以指定负的 Length 从而在返回字符串的末尾省略这个数目的字符(如果省略了全部或过多字符则返回空字符串).

返回值

此函数返回所请求的 String 的子字符串.

备注

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

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

示例

在第 4 的位置检索一个长度为 3 个字符的子串.

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

分别从一个字符串的开头和结尾处开始检索一个子串.

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"