Print Mid(“ABCDEFGHIJK”,2,3)
Print Mid(“ABCDEFGHIJK”,2,10)
Print Mid(“ABCDEFGHIJK”,2)
Print Mid(“ABCDEFGHIJK”,11)
BCD
BCDEFGHIJK
BCDEFGHIJK
BCDEFGHIJK
Print Right (“ABCDEFGHIJK”,2)
Print Left (“ABCDEFGHIJK”,2)
KJ
AB
这三个函数还存在另一个形式,即Mid 、Right 和Left 。它们的用法是与不加“ ”一样的,功能上的区别仅在于加了“$”后多做一步转化为字符串的操作。
Function Format(Expression, [Format],
[FirstDayOfWeek As VbDayOfWeek = vbSunday],
[FirstWeekOfYear As VbFirstWeekOfYear = vbFirstJan1])
常用的使用方法:
Format(12.34)为 ”12.34”
0 Format(12.34, “0000.000”)为 “0012.340”
: Format(1, “00:”)为 “05:”
, Format(12345.67, “##,###.###”)为 “12,345.67”
% Format(123.4567, “00.0%”)为 “12345.7%”(四舍五入)
@ Format(”ABcd”, “@@@@@@”)为 “Abcd”
< Format(”ABcd”, “<@@@@@@”)为 “abcd”
> Format(”ABcd”, “>@@@@@@”)为 “ABCD”
! Format(”ABcd”, “!@@@@@@”)为 “Abcd”
注意:该函数同样也有另一种形式,即Format 。加了“ ”后多做一步转化为字符串的操作。
Function Replace(Expression As String, Find As String, Replace As String, [Start As Long = 1], [Count As Long = -1], [Compare As VbCompareMethod = vbBinaryCompare]) As String
Replace("A1BC1DEFG", "1", "0") "A0BC0DEFG"
Replace("A1BC1DEFG", "1", "") "ABCDEFG"
Replace("A1BC1DEFG", "1", "0", 3) "BC0DEFG"
Replace("A1BC1DEFG", "1", "0", 1, 1) "A0BC1DEFG"
Function InStr([Start], [String1], [String2], [Compare As VbCompareMethod = vbBinaryCompare])
下面取一个详细的实例。任务是在Text1框中的字符串中查找Text2的字符串。希望读者能通过这个实例加深对该函数的理解。
首先新建一工程,在Form1上添加两个文本框(Text1、Text2)和一个按钮(Command1)。 打开代码窗口,在通用声明中输入以下代码,声明变量:
Dim i As Integer '记录查找位置
输入实现代码:
Private Sub Form_Load()
i = 1 '初始开始查找位置
Command1.Caption = "查找下一个"
End Sub
Private Sub Command1_Click()
i = InStr(i, Trim(Text1.Text), Trim(Text2.Text)) '进行查找
If i = 0 Then MsgBox "未找到字符串!": i = 1: Exit Sub '没找到
Text1.SelStart = i – 1 '设置Text1文本框对查道的字符高亮显示
Text1.SelLength = Len(Trim(Text2.Text))
Text1.SetFocus
i = i + 1 '查找起始位置累计加1
End Sub
在Text1文本框中输入源字符串(如“ABCDEWBFGHIWBJKLMNWB”),在Text2文本框中输入要查找的字符串(如“WB”),单击“查找下一个”按钮进行查找。
Function Space(Number As Long)
Function Filter(SourceArray, Match As String, [Include As Boolean = True], [Compare As VbCompareMethod = vbBinaryCompare])
返回一个匹配字符串的数组。注意返回值是一个数组类型,其中的元素来自源数组。
参数SourceArray代表了源数组,Martch代表一个欲比较的字符串,Include参数代表了匹配的模式——True为包括,False为不 包括。若设为True,该函数将源数组(SourceArray)中凡是含有比较字符串(Match)的元素组成新的一个数组并返回;若设为False, 该函数将源数组(SourceArray)中凡未是含有比较字符串(Match)的元素组成新的一个数组并返回。Include参数缺省为True。 Compare参数为VB比较模式的一个常量。
Function IsNumeric(Expression) As Boolean
IsNumeric ("1A") False
IsNumeric ("&H1A") True 十六进制值
IsNumeric ("2e1") True 科学计数法
IsNumeric ("2e+1") True 指数正号可省略
IsNumeric ("2E+1") True E大小写均可
IsNumeric ("2E-1") True 指数为负
IsNumeric ("2-") True 注意负号的位置
IsNumeric ("-2") True 前后都可
IsNumeric ("2+") True 注意正号的位置
IsNumeric ("+2") True 前后都可
IsNumeric ("2+2") False
IsNumeric (".") False 小数点
IsNumeric (".1") True 小数点前的0省略
IsNumeric ("1.1") True
IsNumeric ("1.1-") True 注意负号
Function StrComp(String1, String2, [Compare As VbCompareMethod = vbBinaryCompare])
Function Split(Expression As String, [Delimiter], [Limit As Long = -1], [Compare As VbCompareMethod = vbBinaryCompare])
分割一个字符串到数组。
参数Expression为源字符串,Delimiter为分隔符(缺省情况下为空格),Limit代表分割的数量(当分割数目达到设定值时,函数不会再将之后的字符串分割),参数Compare为VB比较模式的一个常量。
Dim a() As String
Dim b() As String
a = Split("01*23*456*789", "*")
b = Split("01*23*456*789", "*", 3)
'运行这段代码,a,b是两个数组,它们的结果见下表:
A String(0 to 3)
a(0) "01" String
a(1) "23" String
a(2) "456" String
a(3) "789" String
B String(0 to 2)
b(0) "01" String
b(1) "23" String
b(2) "456*789" String
Function Join(SourceArray, [Delimiter]) As String
Dim a As String
Dim b(1) As String
b(0) = "012"
b(1) = "456"
a = Join(b(), "*")
'运行结果:a的值为
"012*456"。
Function String(Number As Long, Character)
返回一个指定长度的重复字符串。
Number参数用于指定返回字符串的长度,参数Character代表重复的字符。
Function StrReverse(Expression As String) As String
Function LCase(String)
Function UCase(String)
Lcase函数用于将字符串转化为小写,Ucase函数用于将字符串转化为大写。
参数String为源字符串,注:其中的中文字符是不会转化的。
用法举例:
LCase("ABCdefg文字") "abcdefg文字"
UCase("ABCdefg文字") "ABCDEFG文字"
Function Len(Expression)
Len("ABCdefg文字")结果为9。
Function LTrim(String)
Function RTrim(String)
Function Trim(String)
LTrim函数用于去除字符串左边的空格;RTrim函数用于去除字符串右边的空格;Trim函数用于去除字符串左右两边的空格。
参数String代表源字符串,函数返回去除空格后的结果。
这三个函数都还有另一种形式,即LTrim 、RTrim 和Trim 。加了“ ”后多做一步转化为字符串的操作。