StringMid

AutoHotkey

StringMid

从字符串的指定位置提取一个或多个字符。

StringMid, OutputVar, InputVar, StartChar [, Count , L]
NewStr := SubStr(String, StartPos [, Length]) ; 请参阅 SubStr() 函数 了解详情.

参数

OutputVar

用来存储从 InputVar 提取的子字符串的变量名.

InputVar

需要被提取子字符串的变量名. 不要把名称括在百分号中, 除非您希望使用变量的 内容 作为被解析的变量名.

StartChar

需提取的首个字符的位置, 可以为 表达式. 与 StringGetPos 不同, 首个字符的位置为 1. 如果 StartChar 小于 1, 那么它将被视为 1. 如果 StartChar 超过了字符串的长度, 则 OutputVar 会被置空.

Count

在 v1.0.43.10+, 此参数可以省略或留空, 此时等同于指定了可从字符串中获取所有字符的足够大的整数.

否则, 请指定需提取的字符数, 可以为 表达式. 如果 Count 小于或等于零, 那么 OutputVar 会被置空. 如果 Count 超过了 InputVar 中从 StartChar 开始计算的长度, 那么 OutputVar 会被置为 InputVar 中从 StartChar 开始的所有字符.

L

使用字母 L 可以从 StartChar 开始往左边提取字符而不是右边. 在后面的例子中, OutputVar 会被置为 Red:

InputVar = The Red Fox
StringMid, OutputVar, InputVar, 7, 3, L

如果使用了 L 选项且 StartChar 小于 1,那么 OutputVar 会被置空。如果 StartChar 超过了 InputVar 的长度, 那么只会提取在 Count 内的那些字符. 例如, 下面的例子会把 OutputVar 设置为 Fox:

InputVar = The Red Fox
StringMid, OutputVar, InputVar, 14, 6, L

备注

在这个及其他所有命令中,OutputVarInputVar 中可以使用相同的变量。

相关

SubStr(), StringLeft, StringRight, StringTrimLeft, StringTrimRight, IfInString, StringGetPos, StringLen, StringLower, StringUpper, StringReplace

示例

Source = Hello this is a test. 
StringMid, the_word_this, Source, 7, 4