首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

VBA字符串函数,你想学的都在这里

字符串函数合集

1

提取字符/字符串、提取字符串长度

1.1 Left函数

left(字符串,长度) :从[字符串]的左边开始返回[长度]个字符

1.2 Right函数

right(字符串,长度) : 从[字符串]的右边开始返回[长度]个字符

例如 Right("欢迎你关注",3) 则返回 "你关注"

1.3 Mid函数

mid(字符串,从第几个开始,长度): 在[字符串]中[从第几个开始]取出[长度个字符串]

例如 mid("欢迎你关注",1,3) 则返回 "欢迎你"

1.4LTrim/RTrim/Trim函数

LTrim函数: 删除字符串前面的空格;

RTrim函数: 删除字符串后面的空格;

Trim函数: 删除两头的空格。

例如 : trim("欢迎关注") 则返回 "欢迎关注" ,中间的空格不受任何影响

1.5 Len函数

len(字符串) : 返回[字符串]的长度

例如: len("欢迎你关注") 则返回 5

2

创建字符串

2.1Space函数

space(个数) : 返回[个数]个空格

例如 space(5) 则返回 "

如下例所示:

Sub CreateString1()

Dim MyString

' 返回 5 个空格的字符串。

MyString = Space(5)

' 将 5 个空格插入两个字符串中间。

MyString = "Hello" & Space(5) & "World"

End Sub

2.2string函数

string(个数,字符) :返回[个数]个[字符]

例如 : string(3,"小") 则返回 "小小小"

注意:

string(3,"你好世界") 也返回 "你你你",只有首字符才有效

字符可以指定为字符串或者是ANSI字符代码

例如,下面使用String函数生成指定长度且只含单一字符的字符串。

Sub test()

Dim MyString

MyString = String(5, "*") ' 返回 "*****"

MyString = String(5, 43) ' 返回 "+++++"'43为ANSI字符代码

MyString = String(10, "ABC") ' 返回 "AAAAAAAAAA"

End Sub

3

转换字符串

3.1asc函数

asc(字符): 返回[字符]的ASCII编码,若有多个字符,则只返回首字符的ascii编码,和Chr()函数是一个可逆的过程

例如 asc("你") 则返回-15133 ; asc("你好世界") 也返回 -15133

3.2Chr函数

chr(ASCII编码): 返回[ASCII]编码所代表的字符,和ASC()函数是一个可逆的过程

例如 chr(-12127) 则返回 "小" ;chr(asc("小")) 则返回"小"(这里是为了说明asc和chr的可逆性,例用此特性可以加密文本)

3.3StrConv函数

StrConv函数: 使用StrConv函数来按指定类型转换字符串。

语法:StrConv(string,conversion,LCID)

其中,参数string为要转换的字符串,参数conversion为指定转换的类型,参数LCID为可选参数。

将参数conversion设置为vbUpperCase或1,则将字符串转换成大写;(常用)

将参数设置为vbLowerCase或2,则将字符串转换成小写;(常用)

将参数设置为vbProperCase或3,则将字符串中每个字的开头字母转换成大写;

将参数设置为vbUnicode或64,则根据系统的缺省码页将字符串转换成Unicode;

将参数设置为vbFromUnicode或128,则将字符串由Unicode转换成系统的缺省码页。

下面的例子将句子中每个词语的首字母转换为大写:

Sub testConverseString2()

Debug.Print StrConv("my book is this book.", vbProperCase)

End Sub

3.4Ucase/Lcase函数

Ucase(字符串): 返回[字符串]的大写形式,只对英文字符有效

例如: ucase("nihaoSHijie") 则返回 "NIHAOSHIJIE"

Lcase(字符串): 返回[字符串]的小写形式,只对英文字符有效

例如: lcase("NIhAOshiJie") 则返回 "nihaoshijie"

4

查找/替换字符串

4.1instr函数/InStrRev函数

instr(从第几个开始,字符串1,字符串2) : 从规定的位置开始查找,返回字符串2在字符串1中的位置

例如: instr(1,"你好世界","你") 则返回 1,instr(2,"你好世界","你"),则返回 0 。 0 表示未找到

InStrRev函数:与InStr函数不同的是,从字符串的末尾算起。

4.2Replace函数

Replace函数:返回一个字符串,该字符串中指定的子字符串已被替换成另一子字符串,并且替换发生的次数也是指定的。

语法:Replace(expression, find, replace[, start[, count[, compare]]])

Replace函数语法有如下命名参数:

expression 必需的。字符串表达式,包含要替换的子字符串。

find 必需的。要搜索到的子字符串。

replace 必需的。用来替换的子字符串。

start 可选的。在表达式中子字符串搜索的开始位置。如果忽略,假定从1开始。

count 可选的。子字符串进行替换的次数。如果忽略,缺省值是 –1,它表明进行所有可能的替换。

compare 可选的。数字值,表示判别子字符串时所用的比较方式。

实例:

Sub tihuan()

Str1 = "你好@世界@"

Str2 = Replace(Str1, "@", "") '将str1中的@替换为空,Str2结果为“你好世界”

End Sub

欢迎点赞、关注、转发。

在这个寒冷的时节里

因为有你的关注

而变得温暖

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180219G06QRT00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券