从字符串的左侧开始,截取指定数量的字符,语法:Left(字符串, 截取的字符数量)
Public Sub main()
Dim str As String
str = "这是一个字符串"
Debug.Print Left(str, 2) '结果:这是
End Sub
从字符串的右侧开始,截取指定数量的字符,语法:Right(字符串, 截取的字符数量)
Public Sub main()
Dim str As String
str = "这是一个字符串"
Debug.Print Right(str, 2) '结果:符串
End Sub
指定截取的起始位置和要截取的字符数,语法:Mid(字符串, 截取的起始位置, 截取的字符数量)
Public Sub main()
Dim str As String
str = "这是一个字符串"
Debug.Print Mid(str, 2, 3) '结果:是一个
End Sub
将字符串分割为数组,语法:Split(字符串, 分割基准字符)
Public Sub main()
Dim str As String
str = "中国-辽宁省-大连市"
Dim item
'以 "-" 为基准,将字符串分割成数组
item = Split(str, "-")
Debug.Print item(0)
Debug.Print item(1)
Debug.Print item(2)
End Sub
将数组拼接成字符串,语法:Join(字符串, 连接字符)
Public Sub main()
Dim items
items = Array("中国", "辽宁省", "大连市")
Dim str As String
str = Join(items, "-")
Debug.Print str '结果: 中国-辽宁省-大连市
End Sub
建议用 &
符号做字符串拼接,用 +
的时候不能拼接数值类型
Public Sub main()
'Debug.Print "iphone" + 13, 这句话语法错误,提示:类型不匹配
Debug.Print "iphone" & 13
End Sub
从前向后查找字符最先出现的位置,并将位置返回,语法:InStr(字符串, 要查找的字符)
Public Sub main()
Debug.Print InStr("这是一个示例,一个字符串查找的功能", "一个") '结果:3
End Sub
从后向前查找字符最先出现的位置,并将位置返回,语法:InStrRev(字符串, 要查找的字符)
Public Sub main()
Debug.Print InStrRev("这是一个示例,一个字符串查找的功能", "一个") '结果:8
End Sub
在字符串中用新字符替换指定的旧字符,并返回替换后的新字符串,语法:Replace(字符串, 旧字符, 新字符)
Public Sub main()
Debug.Print Replace("这是一个示例", "示例", "Demo") '结果:这是一个Demo
End Sub
在字符串中指定替换的起始位置和替换字符数量,语法:Mid(字符串,替换起始位置,替换字符数) = 新字符
Public Sub main()
Debug.Print Mid("这是一个示例", 5, 2) = "Demo" '结果:这是一个Demo
End Sub
Public Sub main()
Debug.Print UCase("my name is ares5k")
End Sub
Public Sub main()
Debug.Print LCase("MY NAME IS ARES5K")
End Sub
相同函数,通过传入不同参数决定转成大写还是小写,相对自由一点,语法:VBA.StrConv(字符串, 转换类型)
转换类型
类型名称 | 类名值 |
---|---|
大写 | vbUpperCase |
小写 | vbLowerCase |
首字母大写 | vbProperCase |
示例代码
Public Sub main()
Debug.Print VBA.StrConv("my name is ares5k", vbUpperCase) '大写
Debug.Print VBA.StrConv("MY NAME IS ARES5K", vbLowerCase) '小写
Debug.Print VBA.StrConv("MY NAME IS ARES5K", vbProperCase) '首字母小写
End Sub
Public Sub main()
Debug.Print LTrim(" 去除左侧空格 ")
End Sub
Public Sub main()
Debug.Print RTrim(" 去除左侧空格 ")
End Sub
Public Sub main()
Debug.Print Trim(" 去除左侧空格 ")
End Sub
Public Sub main()
Debug.Print Asc("A")
End Sub
Public Sub main()
Debug.Print Chr(97)
End Sub
使用 ASCII 码和全局变量都可以
ASCII 码 | 全局变量 | 描述 |
---|---|---|
10 | vbCr | 换行 |
30 | vbLf | 回车 |
13 | vbCrLf | 回车换行 |
Public Sub main()
Debug.Print Space(6)
End Sub
Public Sub main()
Debug.Print String(6, "a") '结果: aaaaaa
End Sub
这种字符串必须数字开头,然后将开头的数字提取出来
Public Sub main()
Debug.Print Val("88个苹果") '结果:88
End Sub