Mid 截取字符

文章目录
  1. 1. 功能
  2. 2. 语法
  3. 3. 参数
  4. 4. 返回值
  5. 5. 示例
  6. 6. 备注

功能

在文本内容中从指定位置开始截取指定数量个字符

语法

结果 = Mid(文本内容, 起始位置[, 截取数量])

参数

参数 数据类型 解释
文本内容 字符串 待截取的原始文本内容
起始位置 整数型 从哪个位置开始截取, 如果超过原文本长度, 则返回长度为0的文本("")
截取数量 整数型 可选, 要截取字符的数目, 如果省略或超过原文本长度, 则返回从起始位置到结束的所有字符

返回值

字符串, 返回截取过来的新字符串内容

示例

1
2
3
//下面的示例利用 Mid 函数返回字符串中从第四个字符开始的六个字符: 
Dim MyVar
MyVar = Mid("VB Script is fun!", 4, 6) 'MyVar 包含 "Script"。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//高级例子
//说明: 定位左边和右边的内容, 提取中间的内容
//原内容: 字符串, 待提取内容的原始文本内容
//左边内容: 字符串, 要提取内容左边的定位字符串, 若是空字符串则从第1个开始提取
//右边内容: 字符串, 要提取内容右边的定位字符串, 若是空字符串则提取到末尾位置
//返回: 提取到的字符串内容, 失败返回空字符串""
Function zmMid(原内容, 左边内容, 右边内容)
Dim 左边位置, 右边位置, 起始位置, 截取内容, 截取长度
左边位置 = InStr(原内容, 左边内容)
If 左边位置 > 0 Then
起始位置 = 左边位置 + Len(左边内容)
If 右边内容 = "" Then
截取长度 = Len(原内容)
Else
右边位置 = InStr(起始位置, 原内容, 右边内容)
If 右边位置 > 0 Then
截取长度 = 右边位置 - 起始位置
截取内容 = mid(原内容, 起始位置, 截取长度)
End If
End If
End If
zmMid = 截取内容
End Function

Dim QQ
QQ = zmMid("紫猫老师QQ为:345911220官网:zimaoxy.com", "QQ为:", "官网")
TracePrint QQ

备注

  • 要判断 string 中字符的数目,可使用 Len 函数。
  • 衍生函数 MidB 用于字符串中的字节数据,其参数指定的是字节数而不是字符数。