# StringMid

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

过时的: 不推荐在新脚本中使用此命令. 请使用 SubStr 函数代替.

    StringMid, OutputVar, InputVar, StartChar , Count, L

## 参数

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

## 备注

在这个及其他所有命令中, OutputVar 和 InputVar 中可以使用相同的变量.

## 相关

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

## 示例

检索位于第 7 长度为 4 个字符的子字符串.

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

dftg