跳到主要内容

Mid 截取字符

🎯功能

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

📜语法

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

📥参数

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

📤返回

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

💡示例

//下面的示例利用 Mid 函数返回字符串中从第四个字符开始的六个字符: 
Dim MyVar
MyVar = Mid("VB Script is fun!", 4, 6) 'MyVar 包含 "Script"。
//高级例子
//说明: 定位左边和右边的内容, 提取中间的内容
//原内容: 字符串, 待提取内容的原始文本内容
//左边内容: 字符串, 要提取内容左边的定位字符串, 若是空字符串则从第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 用于字符串中的字节数据,其参数指定的是字节数而不是字符数。