字元串是一個字元序列,可以由字母,數字,特殊字元或全部字元組成。 如果一個變量被包含在雙引号
""
中,則被認為是一個字元串。
文法:
variable_name = "this is a string"
1、InStr函數
文法:
InStr([start,]string1,string2[,compare])
參數說明
- Start - 一個可選參數。指定搜尋的起始位置。搜尋從第一個位置開始,從左到右。
- String1 - 必需的參數。要搜尋的字元串。
- String2 - 必需的參數。要在String1中搜尋的字元串。
- Compare - 一個可選參數。指定要使用的字元串比較。它可以采取以下提到的值:
- 0 = vbBinaryCompare - 執行二進制比較(預設)
- 1 = vbTextCompare - 執行文本比較
函數傳回值分為0 和其他整數(絕對字元索引位置)
若搜尋不到就傳回0
Private Sub Constant_demo_Click()
Dim Var As Variant
Var = "Microsoft VBScript"
MsgBox ("Line 1 : " & InStr(1, Var, "s"))
MsgBox ("Line 2 : " & InStr(7, Var, "s"))
MsgBox ("Line 3 : " & InStr(1, Var, "f", 1))
MsgBox ("Line 4 : " & InStr(1, Var, "t", 0))
MsgBox ("Line 5 : " & InStr(1, Var, "i"))
MsgBox ("Line 6 : " & InStr(7, Var, "i"))
MsgBox ("Line 7 : " & InStr(Var, "VB"))
End Sub
2、InStrRev
InStrRev()
函數傳回一個字元串在另一個字元串中的第一次出現。搜尋從右到左。
InStrRev(string1,string2[,start,[compare]])
- String1 - 必需的參數,要搜尋的字元串。
- String2 - 必需的參數。要在
中搜尋的字元串。String1
- Start - 一個可選參數。指定搜尋的起始位置。從右到左的第一個位置開始搜尋。
- Compare - 一個可選參數。指定要使用的字元串比較。 它可以采取以下提到的價值。
- 0 = vbBinaryCompare - 執行二進制比較(預設)
- 1 = vbTextCompare - 執行文本比較
其中Start參數是指定搜尋的起始位置,比如指定start=5,那麼搜尋從o開始往左搜尋,如果搜尋s,則傳回值為0.
Private Sub Constant_demo_Click()
var = "Microsoft VBScript"
msgbox("Line 1 : " & InStrRev(var,"s",10))
msgbox("Line 2 : " & InStrRev(var,"s",7))
msgbox("Line 3 : " & InStrRev(var,"f",-1,1))
msgbox("Line 4 : " & InStrRev(var,"t",5))
msgbox("Line 5 : " & InStrRev(var,"i",7))
msgbox("Line 6 : " & InStrRev(var,"i",7))
msgbox("Line 7 : " & InStrRev(var,"VB",1))
End Sub
3、LCase()
LCase()
函數将輸入的字元串轉換為小寫字母後傳回字元串。
Private Sub Constant_demo_Click()
var = "Microsoft VBScript"
msgbox("Line 1 : " & LCase(var))
var = "MS VBSCRIPT"
msgbox("Line 2 : " & LCase(var))
var = "microsoft"
msgbox("Line 3 : " & LCase(var))
End Sub
4、UCase()将字元串轉為大寫字母
UCase
函數将輸入的字元串轉換為大寫字母後傳回字元串。
Private Sub Constant_demo_Click()
var = "Microsoft VBScript"
msgbox("Line 1 : " & UCase(var))
var = "MS VBSCRIPT"
msgbox("Line 2 : " & UCase(var))
var = "microsoft"
msgbox("Line 3 : " & UCase(var))
End Sub
Line 1 : MICROSOFT VBSCRIPT
Line 2 : MS VBSCRIPT
Line 3 : MICROSOFT
5、left/right/Mid和excel裡面含義一樣
8、
Ltrim()
函數删除字元串左側的空格。
Private Sub Constant_demo_Click()
Dim var as Variant
var = " Microsoft VBScript"
msgbox "After Ltrim : " & LTrim(var)
End Sub
9、同Ltrim
11、Len函數
Len
函數傳回給定輸入字元串的長度,包括空格。
12、Replace函數
Private Sub Constant_demo_Click()
Dim var As Variant
var = "VBAlesson"
MsgBox "Repalce函數用法,原字元串“VBAlesson”,删除VBA後剩下 " & Replace(var, "VBA", "")
End Sub
13、
Space
函數用特定數量的空格填充字元串。
Private Sub Constant_demo_Click()
Dim var1 as Variant
var1 = "Microsoft"
Dim var2 as Variant
var2 = "VBScript"
msgbox(var1 & Space(2)& var2)
End Sub
14、StrComp(string1,string2[,compare])
在比較兩個給定字元串後,
StrComp
函數傳回一個整數值。它可以根據要比較的輸入字元串傳回三個值:
-1
,
或
1
中的任何一個。如下 -
- 如果
, 那麼String1 < String2
函數傳回StrComp
-1
- 如果
, 那麼String1 = String2
函數傳回StrComp
- 如果
, 那麼String1 > String2
函數傳回StrComp
1
文法
StrComp(string1,string2[,compare])
Vb
參數說明
- String1 - 必需的參數。第一個字元串表達式。
- String2 - 必需的參數。第二個字元串表達式。
- Compare - 一個可選參數。 指定要使用的字元串比較。它可以采用以下值。
-
- 執行二進制比較(預設)0 = vbBinaryCompare
-
- 執行文本比較1 = vbTextCompare
-
Private Sub Constant_demo_Click()
Dim var1 As Variant
MsgBox ("Line 1 :" & StrComp("Microsoft", "Microsoft"))
MsgBox ("Line 2 :" & StrComp("M", "m"))
MsgBox ("Line 3 :" & StrComp("Microsoft", "MiCrOsOfT"))
MsgBox ("Line 4 :" & StrComp("Microsoft", "MiCrOsOfT", 1))
MsgBox ("Line 5 :" & StrComp("Microsoft", "MiCrOsOfT", 0))
End Sub
小寫字母大于大寫字母
Tips:執行二進制比較,小寫=大寫字母
15、String函數
String
函數使用指定的字元填充指定次數的字元串。
文法
String(number,character)
Vb
參數說明
- Number - 必需的參數。一個整數值,對于字元參數将重複指定的次數。
- Character - 必需的參數。字元值,必須重複指定的次數。
Private Sub Constant_demo_Click()
msgbox("Line 1 :" & String(3,"$"))
msgbox("Line 2 :" & String(4,"*"))
msgbox("Line 3 :" & String(5,100))
msgbox("Line 4 :" & String(6,"ABCDE"))
End Sub
結果如下:
Line 1 :$$$
Line 2 :****
Line 3 :ddddd
Line 4 :AAAAAA
16、StrReverse()
StrReverse
函數反轉指定的字元串。
文法
StrReverse(string)
Private Sub Constant_demo_Click()
msgbox("Line 1 : " & StrReverse("VBSCRIPT"))
msgbox("Line 2 : " & StrReverse("My First VBScript"))
msgbox("Line 3 : " & StrReverse("123.45"))
End Sub
結果:
Line 1 : TPIRCSBV
Line 2 : tpircSBV tsriF yM
Line 3 : 54.321