VB字符串处理函数大全.docx
《VB字符串处理函数大全.docx》由会员分享,可在线阅读,更多相关《VB字符串处理函数大全.docx(13页珍藏版)》请在冰豆网上搜索。
VB字符串处理函数大全
VB字符串处理函数大全
2010-03-1413:
48:
16作者:
佚名来源:
浏览次数:
1110
mid(字符串,从第几个开始,长度) ByRef 在[字符串]中[从第几个开始]取出[长度个字符串]例如mid("坦然面对",1,3)则返回"坦然面"
mid(字符串,从第几个开始,长度) ByRef 在[字符串]中[从第几个开始]取出[长度个字符串]
例如mid("坦然面对",1,3)则返回"坦然面"
instr(从第几个开始,字符串1,字符串2) ByVal 从规定的位置开始查找,返回字符串2在字符串1中的位置
例如instr(1,"坦然面对","坦")则返回1,instr(2,"坦然面对","坦"),则返回0。
0表示未找到
InStrRev(字符串1,字符串2,从第几个开始)ByVal从规定的位置开始,从后住前查找,返回字符串2在字符串1中的位置,此处注意,虽是从后住前查找,但是返回的值还是从前往后算的。
例如instrRev("坦然面对","坦",2)则返回2;instrRev("坦然面对","然",1)则返回0,因为它从"坦然面对"的第1个字开始往前查找,所以找不到。
0表示未找到
left(字符串,长度)ByVal从[字符串]的左边开始返回[长度]个字符
例如Left("坦然面对",3)则返回"坦然面"
right(字符串,长度)ByVal从[字符串]的右边开始返回[长度]个字符
例如Right("坦然面对",3)则返回"然面对"
ucase(字符串)ByVal返回[字符串]的大写形式,只对英文字符有效
例如ucase("tanRANmiAnDui")则返回"TANRANMIANDUI"
lcase(字符串)ByVal返回[字符串]的小写形式,只对英文字符有效
例如lcase("tanRANmiAnDui")则返回"tanranmiandui"
asc(字符)Byval返回[字符]的ascii编码,若有多个字符,则只返回首字符的ascii编码,和Chr()函数是一个可逆的过程
例如asc("坦")则返回-13127;asc("坦然面对")也返回-13127
chr(ASCii编码)Byval返回[Ascii]编码所代表的字符,和Chr()函数是一个可逆的过程
例如chr(-13127)则返回"坦";chr(asc("坦"))则返回"坦"(这里是为了说明asc和chr的可逆性,例用此特性可以加密文本)
trim(字符串)Byval返回去掉了前、后之后的[字符串]
例如trim(" 坦然 面对 ")则返回"坦然 面对",中间的空格不受任何影响
string(个数,字符)Byval返回[个数]个[字符]
例如string(3,"坦")则返回"坦坦坦",而string(3,"坦然面对")也返回"坦坦坦",只有首字符才有效
space(个数)Byval返回[个数]个空格
例如space(5)则返回" "
strconv(字符串,转换的类型)Byval将字符串转成指定的类型。
常用的类型只有两个,vbwide半角转成全角,vbNarrow全角转成半角
例如strconv("tan",vbwide)则返回"TAN",而strconv("TAN",vbnarrow)则返回"tan"
'备注vbwide=4,vbnarrow=8
len(字符串)Byval返回[字符串]的长度
例如len("坦然面对")则返回4
以下内容特别感谢无私、博爱的yty同学补充:
AscB(StringAsString)AsByte
返回字符串中第一个字节的值
例如:
AscB("坦然")则返回102
AscW(StringAsString)AsInteger
返回字符串中第一个字符的本机字符代码(Unicode或ANSI)
例如:
AscW("坦然")则返回22374
ChrW(CharCodeAsLong)
返回一个包含指定本机字符的字符串(Unicode或ANSI)
例如:
ChrW(22374)则返回"坦"
Filter(InputStrings,Value[,Include[,Compare]])
返回一个下标从零开始的数组,该数组包含基于指定筛选条件的一个字符串数组的子集。
InputStrings必需的。
要执行搜索的一维字符串数组。
Value必需的。
要搜索的字符串。
Include可选的。
Boolean值,表示返回子串包含还是不包含Value字符串。
如果Include是True,Filter返回的是包含Value子字符串的数组子集。
如果Include是False,Filter返回的是不包含Value子字符串的数组子集。
Compare可选的。
数字值,表示所使用的字符串比较类型。
有关其设置,请参阅下面的“设置值”部分。
Compare参数的设置值如下:
vbUseCompareOption–1使用OptionCompare语句的设置值来执行比较。
vbBinaryCompare0执行二进制比较。
vbTextCompare1执行文字比较。
vbDatabaseCompare2只用于MicrosoftAccess。
基于您的数据库信息来执行比较。
例如:
Dima(3)AsString
a(0)="坦"
a
(1)="坦然"
a
(2)="坦然面"
a(3)="坦然面对"
b=Filter(a,"然")
则b(0)="坦然"
b
(1)="坦然面"
b
(2)="坦然面对"
Join(list[,delimiter])AsString
返回一个字符串,该字符串是通过连接某个数组中的多个子字符串而创建的。
list必需的。
包含被连接子字符串的一维数组。
delimiter可选的。
在返回字符串中用于分隔子字符串的字符。
如果忽略该项,则使用空格("")来分隔子字符串。
如果delimiter是零长度字符串(""),则列表中的所有项目都连接在一起,中间没有分隔符。
例如:
Dima(3)AsString
a(0)="坦"
a
(1)="坦然"
a
(2)="坦然面"
a(3)="坦然面对"
b=Join(a,"+")
则b="坦+坦然+坦然面+坦然面对"
LeftB(String,LengthAsLong)
从一个字符串的左边起返回指定数目的字节
例如:
a=LeftB("坦然面对",4)
则a="坦然"
LenB(Expression)
返回存储一个变量所需的字节数
例如:
a=LenB("坦然面对")
则a=8
LTrim(String)
返回无前导空格的字符串的备份
RTrim(String)
返回一个无后缀空格的字符串的备份
例如:
a=LTrim("坦然面对")
b=RTrim("坦然面对")
则a="坦然面对"
b="坦然面对"
MidB(String,StartAsLong,[Length])
从一个字符串中返回指定数目的字节
例如:
a=MidB("坦然面对",3,4)
则a="然面"
MonthName(MonthAsLong,[AbbreviateAsBoolean=False])AsString
返回一个表示指定月份的字符串。
abbreviate可选的。
Boolean值,表示月份名是否缩写。
如果忽略,缺省值为False,表明月份名不能被缩写。
例如:
a=MonthName(5)
则a="五月"
Format(expression[,format[,firstdayofweek[,firstweekofyear]]])
返回Variant(String),其中含有一个表达式,它是根据格式表达式中的指令来格式化的。
expression必要参数。
任何有效的表达式。
format可选参数。
有效的命名表达式或用户自定义格式表达式。
firstdayofweek可选参数。
常数,表示一星期的第一天。
firstweekofyear可选参数。
常数,表示一年的第一周。
firstdayofweek参数有下面设置:
vbUseSystem0使用NLSAPI设置。
VbSunday1星期日(缺省)
vbMonday2星期一
vbTuesday3星期二
vbWednesday4星期三
vbThursday5星期四
vbFriday6星期五
vbSaturday7星期六
firstweekofyear参数有下面设置:
vbUseSystem0使用NLSAPI设置。
vbFirstJan11从包含一月一日的那一周开始(缺省)。
vbFirstFourDays2从本年第一周开始,而此周至少有四天在本年中。
VbFirstFullWeek3从本年第一周开始,而此周完全在本年中。
示例
a=Format(#4/19/20081:
01:
05PM#,"yyyy-mm-dd,ddd,hh:
mm:
ss")
a="2008-04-19,Sat,13:
01:
05"
a=Format(#4/19/20081:
01:
05PM#,"yyyy-mm-dd,dddd,h:
m:
s")
a="2008-04-19,Saturday,13:
1:
5"
a=Format(#4/19/20081:
01:
05PM#,"m-d-yyampmh/m/s")
a="4-19-08PM1-1-5"
a=Format(1234567.89,"#,#.#00")
a="1,234,567.890"
a=Format(0.12358,"#%")
a="12%"
a=Format(0.12358,"#.#0%")
a="12.36%"
a=Format(0.12358,"#.#000%")
a="12.3580%"
a=Format("TaNrAnMiAnDuI",">")
a="TANRANMIANDUI"
a=Format("TaNrAnMiAnDuI",">")
a="tanranmiandui"
总之,Format功能很强大,可替代许多函数。
FormatCurrency(Expression[,NumDigitsAfterDecimal[,IncludeLeadingDigit[,UseParensForNegativeNumbers[,GroupDigits]]]])
返回一个货币值格式的表达式,它使用系统控制面板中定义的货币符号。
Expression必需的。
要格式化的表达式。
NumDigitsAfterDecimal可选的。
数字值,表示小数点右边的显示位数。
缺省值为–1,表示使用计算机的区域设置值。
IncludeLeadingDigit可选的。
三态常数,表示小数点前是否显示一个零。
UseParensForNegativeNumbers可选的。
三态常数,表示是否把负数值放在园括号内。
GroupDigits可选的。
三态常数,表示是否用组分隔符对数字进行分组,组分隔符由计算机的区域设置值指定。
IncludeLeadingDigit、UseParensForNegativeNumbers和GroupDigits参数的设置值如下:
TristateTrue–1True
TristateFalse0False
TristateUseDefault–2使用计算机区域设置中的设置值。
示例
a=FormatCurrency(1234567.89)
a=¥1,234,567.89
a=FormatCurrency(1234567.89,0)
a=¥1,234,568
a=FormatCurrency(1234567.89,3)
a=¥1,234,567.890
a=FormatCurrency(0.15,,vbFalse)
a=¥.15
a=FormatCurre
FormatDateTime(Date[,NamedFormat])
返回一个日期或时间格式的表达式。
Date必需的。
要被格式化的日期表达式。
NamedFormat可选的。
数字值,表示日期/时间所使用的格式。
如果忽略该值,则使用vbGeneralDate。
NamedFormat参数的设置值如下:
vbGeneralDate0显示日期和/或时间。
如果有日期部分,则用短日期格式显示。
如果有时间部分,则用长时间格式显示。
如果都有,两部分都显示。
vbLongDate1用计算机区域设置值中指定的长日期格式显示日期。
vbShortDate2用计算机区域设置值中指定的短日期格式显示日期。
vbLongTime3用计算机区域设置值中指定的时间格式显示时间。
vbShortTime4用24小时格式(hh:
mm)显示时间。
示例
a=FormatDateTime(#4/19/20082:
54:
23PM#,vbGeneralDate)
a=2008-4-1914:
54:
23
a=FormatDateTime(#4/19/20082:
54:
23PM#,vbLongDate)
a=2008年4月19日星期六
a=FormatDateTime(#4/19/20082:
54:
23PM#,vbShortDate)
a=2008-4-19
a=FormatDateTime(#4/19/20082:
54:
23PM#,vbLongTime)
a=14:
54:
23
a=FormatDateTime(#4/19/20082:
54:
23PM#,vbShortTime)
a=14:
54
FormatNumber(Expression[,NumDigitsAfterDecimal[,IncludeLeadingDigit[,UseParensForNegativeNumbers[,GroupDigits]]]])
返回一个数字格式的表达式。
Expression必需的。
要被格式化的表达式。
NumDigitsAfterDecimal可选的。
数字值,表示小数点右边的显示位数。
缺省值为–1,表示使用计算机的区域设置值。
IncludeLeadingDigit可选的。
三态常数,表示小数点前是否显示零。
UseParensForNegativeNumbers可选的。
三态常数,表示是否把负数值放在圆括号内。
GroupDigits可选的。
的三态常数,表示是否用组分隔符对数字分组,组分隔符在计算机的区域设置值中指定。
IncludeLeadingDigit、UseParensForNegativeNumbers和GroupDigits参数的设置值如下:
TristateTrue–1True
TristateFalse0False
TristateUseDefault–2用计算机区域设置值中的设置值。
示例
a=FormatNumber(-1234567.89,4,vbTrue,vbTrue,vbTrue)
a=(1,234,567.8900)
a=FormatNumber(-1234567.89,4,vbFalse,vbFalse,vbFalse)
a=-1234567.8900
FormatPercent(Expression[,NumDigitsAfterDecimal[,IncludeLeadingDigit[,UseParensForNegativeNumbers[,GroupDigits]]]])
返回一个百分比格式(乘以100)的表达式,后面有%符号。
Expression必需的。
要格式化的表达式。
NumDigitsAfterDecimal可选的。
表示小数点右边的显示位数。
缺省值为–1,表示使用计算机的区域设置值。
IncludeLeadingDigit可选的。
三态常数,表示小数点前是否显示零。
UseParensForNegativeNumbers可选的。
三态常数,表示是否把负数放在圆括号内。
GroupDigits可选的。
三态常数,表示是否用组分隔符对数字进行分组,组分隔符在计算机的区域设置值中指定。
IncludeLeadingDigit、UseParensForNegativeNumbers和GroupDigits参数的设置值如下:
TristateTrue–1True
TristateFalse0False
TristateUseDefault–2使用计算机区域设置值中的设置值。
示例
a=FormatPercent(-1234567.89,4,vbFalse,vbFalse,vbFalse)
a=-123456789.0000%
a=FormatPercent(-1234567.89,4,vbTrue,vbTrue,vbTrue)
a=(123,456,789.0000%)
Replace(expression,find,replacewith[,start[,count[,compare]]])
返回一个字符串,该字符串中指定的子字符串已被替换成另一子字符串,并且替换发生的次数也是指定的。
expression必需的。
字符串表达式,包含要替换的子字符串。
find必需的。
要搜索到的子字符串。
replacewith必需的。
用来替换的子字符串。
start可选的。
在表达式中子字符串搜索的开始位置。
如果忽略,假定从1开始。
count可选的。
子字符串进行替换的次数。
如果忽略,缺省值是–1,它表明进行所有可能的替换。
compare可选的。
数字值,表示判别子字符串时所用的比较方式。
compare参数的设置值如下:
vbUseCompareOption–1使用OptionCompare语句的设置值来执行比较。
vbBinaryCompare0执行二进制比较。
vbTextCompare1执行文字比较。
vbDatabaseCompare2仅用于MicrosoftAccess。
基于您的数据库的信息执行比较。
示例
a=Replace("坦坦然坦然面坦然面对","然","对")
a="坦坦对坦对面坦对面对"
a=Replace("坦坦然坦然面坦然面对","然","对",5)
a="对面坦对面对"
a=Replace("坦坦然坦然面坦然面对","然","对",,2)
a="坦坦对坦对面坦然面对"
RightB(String,LengthAsLong)
从字符串的右边起返回指定数目的字节
示例
a=RightB("坦然面对",4)
a="面对"
Split(expression[,delimiter[,count[,compare]]])
返回一个下标从零开始的一维数组,它包含指定数目的子字符串。
expression必需的。
包含子字符串和分隔符的字符串表达式。
如果expression是一个长度为零的字符串(""),Split则返回一个空数组,即没有元素和数据的数组。
delimiter可选的。
用于标识子字符串边界的字符串字符。
如果忽略,则使用空格字符("")作为分隔符。
如果delimiter是一个长度为零的字符串,则返回的数组仅包含一个元素,即完整的expression字符串。
count可选的。
要返回的子字符串数,–1表示返回所有的子字符串。
compare可选的。
数字值,表示判别子字符串时使用的比较方式。
compare参数的设置值如下:
vbUseCompareOption–1用OptionCompare语句中的设置值执行比较。
vbBinaryCompare0执行二进制比较。
vbTextCompare1执行文字比较。
vbDatabaseCompare2仅用于MicrosoftAccess。
基于您的数据库的信息执行比较。
示例
a=Split("坦坦然坦然面坦然面对")
a(0)="坦";a
(1)="坦然";a
(2)="坦然面";a(3)="坦然面对"
a=Split("坦!
坦然!
坦然面!
坦然面对","!
")
结果同上。
a=Split("坦!
坦然!
坦然面!
坦然面对","!
",2)
a(0)="坦";a
(1)="坦然!
坦然面!
坦然面对"
StrComp(string1,string2[,compare])
返回Variant(Integer),为字符串比较的结果。
string1必要参数。
任何有效的字符串表达式。
string2必要参数。
任何有效的字符串表达式。
Compare可选参数。
指定字符串比较的类型。
如果compare参数是Null,将发生错误。
如果省略compare,OptionCompare的设置将决定比较的类型。
compare参数设置为:
vbUseCompareOption-1使用OptionCompare语句设置执行一个比较。
vbBinaryCompare0执行一个二进制比较。
vbTextCompare1执行一个按照原文的比较。
vbDatabaseCompare2仅适用于MicrosoftAccess,执行一个基于数据库信息的比较。
StrComp函数有下列返回值:
string1小于string2-1
string1等于string20
string1大于string21
string1或string2为NullNull
示例
a=StrComp("坦","然")
a=-1
a=StrComp("面","然")
a=1
a=StrComp("然","然")
a=0
a=StrComp("然",Null)
a=Null
StrConv(string,conversion,LCID)
返回按指定类型转换的Variant(String)。
string必要参数。
要转换的字符串表达式。
conversion必要参数。
Integer。
其值的和决定转换的类型。
LCID可选的。
如果与系统LocaleID不同,则为LocaleID(系统Locale