简明Excel VBA
本文集同步于GitHub仓库:# bluetata/concise-excel-vba
0x04 字符串String相关常用操作
4.1 Trim
Trim
函数删除给定输入字符串的前导空格和尾随空格。
语法:Trim(String)
4.2 Instr 和 InStrRev
InStr
函数返回一个字符串第一次出现在一个字符串,从左到右搜索。返回搜索到的字符索引位置。
InStrRev
函数与InStr
功能相同,从右到左搜索。返回搜索到的字符索引位置。
语法:InStr([start, ]string1, string2[, compare])
参数:
- Start - 一个可选参数。指定搜索的起始位置。搜索从第一个位置开始,从左到右。
- String1 - 必需的参数。要搜索的字符串。
- String2 - 必需的参数。要在String1中搜索的字符串。
- Compare - 一个可选参数。指定要使用的字符串比较。它可以采取以下提到的值:
- 0 = vbBinaryCompare - 执行二进制比较(默认)
- 1 = vbTextCompare - 执行文本比较
Private Sub Constant_demo_Click()
Dim Var As Variant
Var = "Microsoft VBScript"
Debug.Print InStr(1, Var, "s") ' 6
Debug.Print InStr(7, Var, "s") ' 0
Debug.Print InStr(1, Var, "f", 1) ' 8
Debug.Print InStr(1, Var, "t", 0) ' 9
Debug.Print InStr(1, Var, "i") ' 2
Debug.Print InStr(7, Var, "i") ' 16
Debug.Print InStr(Var, "VB") ' 11
End Sub
4.3 Mid
Mid
函数返回给定输入字符串中指定数量的字符。
语法:Mid(String, start[, Length])
参数:
- String - 必需的参数。输入从中返回指定数量的字符的字符串。
- Start - 必需的参数。一个整数,它指定了字符串的起始位置。
- Length - 必需的参数。一个整数,指定要返回的字符数。
Private Sub Constant_demo_Click()
Dim var as Variant
var = "Microsoft VBScript"
Debug.Print Mid(var, 2) ' icrosoft VBScript
Debug.Print Mid(var, 2, 5) ' icros
Debug.Print Mid(var, 5, 7) ' osoft V
End Sub
4.4 Left 和 Right
Left
和 Right
截取字符串,从左或者从右开始。
语法:Left(String, Length)
参数:
- String - 必需的参数。 输入从左侧返回指定数量的字符的字符串。
- Length - 必需的参数。 一个整数,指定要返回的字符数。
Private Sub Constant_demo_Click()
Dim var as Variant
var = "Microsoft VBScript"
Debug.Print Left(var,2) ' Mi
var = "MS VBSCRIPT"
Debug.Print Left(var,5) ' MS VB
var = "microsoft"
Debug.Print Left(var,9) ' microsoft
End Sub
4.5 Replace 函数
Replace
函数 将一个字符串替换另一个字符串,可指定的次数。
语法:Replace(string, findString, replaceWith[, start[, count[, compare]]])
参数:
- String - 必需的参数。需要被搜索的字符串。
- findString - 必需的参数。将被替换的字符串部分。
- replaceWith - 必需的参数。用于替换的子字符串。
- start - 可选的参数。规定开始位置。默认是 1。
- count - 规定指定替换的次数。默认是 -1,表示进行所有可能的替换。
- compare - 可选的参数。规定所使用的字符串比较类型。
- 0 = vbBinaryCompare - 执行二进制比较(默认)
- 1 = vbTextCompare - 执行文本比较
示例:
dim txt
txt="This is a beautiful day!"
Debug.Print Replace(txt, "beautiful", "horrible") ' This is a horrible day!
4.6 StrReverse 倒转函数
语法:StrReverse(string)
示例:
Private Sub StrReverse_Demo()
Debug.Print StrReverse("VBSCRIPT")) ' TPIRCSBV
Debug.Print StrReverse("My First VBScript")) ' tpircSBV tsriF yM
Debug.Print StrReverse("123.45")) ' 54.321
End Sub
4.7 其他字符串函数
-
Ltrim(string)
去掉 string 左端空白 -
Rtrim(string)
去掉 string 右端空白 -
Len(string)
计算 string 长度 -
Lcase(string)
和Ucase(string)
转换为小写和大写