vb字符串处理函数
Posted on 2012-04-09 14:52 ╰★张志峰★╮ 阅读(1996) 评论(0) 编辑 收藏
vb字符串处理函数
LEN字串長度函數:計算字串的長度。 函數運算式 結果
len("abcd") 4
len("中文字") 3
len(abc中文) 5
MID取部份字串函數:依開始位置擷取固定長度字串。 函數運算式 結果
mid("vbscript",3,3) scr
mid("vbscript",3) script
mid("vbscript",1,2) vb
LEFT字串開取部份字串函數:將某一字串由開擷取固定長度。 函數運算式 結果
left("vbscript",2) vb
left("vbscript",5) vbscr
RIGHT字串結尾取部份字串函數:將某一字串由結尾擷取固定長度。 函數運算式 結果
right("vbscript",2) pt
right("vbscript",6) script
LCASE轉大寫函數:將字串中的大寫字母變成小寫。 函數運算式 結果
lcase("VBScript") vbscript
lcase("VBScript程式") vbscript程式
UCASE轉小寫函數:將字串中的小寫字母變成大寫。 函數運算式 結果
ucase("VBScript") VBSCRIPT
ucase("VBScript程式") VBSCRIPT程式
TRIM刪除及尾空白字元函數:將字串開及結尾的空白字元刪除。
LTRIM刪除開空白函數:將字串開的空白字元刪除。
RTRIM刪除結尾空白函數:將字串結尾的空白字元刪除。 函數運算式 結果
trim(" VBScript ") VBScript
ltrim(" VBScript ") VBScript
rtrim(" VBScript ") VBScript
REPLACE替代字串函數:將字串中的某字串用另一字串代替。 函數運算式 結果
replace("VBScript","VB","JAVA") JAVAScript
INSTR是否包含另一字串函數:傳回子字串在字串中的第一次出現位置。 函數運算式 結果
instr("ABCabc","a") 4
instr("ABCabc","BC") 2
SPACE空白字元函數:產生N個空白字元。 函數運算式 結果
space(10)
STRING產生字串函數:產生N個字元。 函數運算式 結果
string(5,"*") *****
string(3,65) AAA
STRREVERSE反轉字串函數:將字串內容前後反轉。 函數運算式 結果
strreverse("VBScript") tpircSBV
strreverse("中文字") 字文中
SPLIT分割字串函數:將長字串依某字元分割並放於陣列中。 函數運算式 結果
arr=split("張三&李四&王五","&")
arr(0)="張三"
arr(1)="李四"
VB]针对字符串的函数
(2006-11-02 09:54:14)
转载▼
分类: [技术]参考资料
 
字符串(String)是VB编程中的一个重要类型。它用于存放字符数据。将一个变量声明为字符串变量的格式为:
Dim/Public/Private 变量 As String 或者
Dim/Public/Private 变量 As String * 自然数
后者为所声明的变量指定了长度。例如我们要声明一个长度为3的变量A,可以用语句Dim A As String*3 。注意,指定了长度的字符串只能存放指定长度个字符,当赋值给变量的字符串小于指定的长度时,系统会以空格补足,而当大于指定的长度时,系统会舍去超过长度的那部分字符。因而,在进行对指定长度的字符串进行逻辑运算时要特别注意。下面给出一段代码,读者仔细体会一下:

Dim A1 As String * 3
Dim A2 As String * 3
Dim A3 As String * 3
Dim B As String
A1 = "12"
A2 = "123"
A3 = "1234"
B = "12"
C = "12 "
Print A1
Print A2
Print A3
Print B
Print C
Print A2 = A3
Print A1 = B
Print A1 = C
得出的结果是:
12_
123
123
12
12
True
False
True
一般情况下,我们使用第一种情况,即不指定字符串的长度。
VB提供了强大的字符串处理功能,下表列出了常用的关于字符串处理的函数:
函数名 功能简述 函数名 功能简述
Asc 取ANSI 字符代码 Mid 取字符
Chr Asc函数的逆运算 Replace 替换字符
Filter 返回符合的一个数组 Right 取右边字符
Format 转化格式 Rtrim 清除右边空格
InStr 包含字符串 Space 生成空格
IsNumeric 判断是否数字 StrComp 比较字符串
Join 合并数组到字符串 Split 分割字符串到数组
Lcase 将字符串转化为小写 String 生成字符
Left 取左边字符 StrReverse 翻转字符串
Len 取字符串长度 Trim 清除两边空格
LTrim 清除右边空格 UCase 转为大写
下面详细介绍这些函数的功能及其用法。
一、 Asc函数与Chr函数
Function Asc(String As String) As Integer
Function Chr(CharCode As Long)
Asc函数用来取一个字符串的第一个字符的Ascii编码。它是美国信息交换标准码 (American Standard Code for Information Interchange)。例如:Asc(“A”)返回值为65。注意:中文字符等也能使用该函数,同样能返回一个对应的整型值。
Chr函数是Asc函数的逆运算。代码Chr(65)可以返回字符串值”A”。它的返回类型是一般是字符串。我们常用这个函数来取一些无法直接输入或输入困难的字符,如回车符Chr(13)等等。
二、 Mid函数、Right函数和Left函数
Function Mid(String, Start As Long, [Length])
Function Right(String, Length As Long)
Function Left(String, Length As Long)
这三个函数都是用来从一个字符串中取字符的,参数String传入一个字符串,Length为要取的长度。它们的不同是Mid可以取指定位置的字符,而Right和Left取的分别是右边合左边的字符。
Mid函数的Start参数是欲取的子字符在原字符串中的起始位置;它的Length函数是可省去的(其他两个函数不能省略这个参数),缺省情况下将取起始位置之后的所有字符。
用法举例:
Print Mid(“ABCDEFGHIJK”,2,3)
Print Mid(“ABCDEFGHIJK”,2,10)
Print Mid(“ABCDEFGHIJK”,2)
Print Mid(“ABCDEFGHIJK”,11)
运行结果为:
BCD
BCDEFGHIJK
BCDEFGHIJK
BCDEFGHIJK
注意:起始位置参数必须大于等于1,否则程序在运行过程中会报错。而长度(Length)超过了原来的字符串是允许的,此时相当于省略了Length这个参数。
Right(Left)是取右边(左边)指定长度的字符,如:
Print Right (“ABCDEFGHIJK”,2)
字符串replace函数Print Left (“ABCDEFGHIJK”,2)
运行结果为:
KJ
AB
这三个函数还存在另一个形式,即Mid$、Right$和Left$。它们的用法是与不加“$”一样的,功能上的区别仅在于加了“$”后多做一步转化为字符串的操作。
三、 Format函数
Function Format(Expression, [Format], [FirstDayOfWeek As VbDayOfWeek = vbSunday], [FirstWeekOfYear As VbFirstWeekOfYear = vbFirstJan1])
这个函数用来转化字符串的形式,它的功能是十分强大的。我们不要被它的原形吓着,看似十分复杂,其实很好理解。
在VB中带有方括号的参数都是可以省略的,但是这个函数中我们一般不省略Format这个参数,因为它代表了一种转化的标准。最后的两个参数用于处理日期 的转化,这里不作详细的介绍,有兴趣的读者可查阅Msdn帮助。Expression参数为欲转化的表达式。下表给出了该函数常用的使用方法:
字符 说明
Format(12.34)为 ”12.34”
# 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$。加了“$”后多做一步转化为字符串的操作。
四、 Replace函数
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函数用于字符的替换。它是一个很有用的函数,我们可以使用它来实现诸如Office软件中的替换功能。
Expression参数代表源字符串表达式,Find参数代表欲查的子字符串(即与替换的子字符串),Replace参数代表替换成的字符串。可选参 数Start代表在源字符串中查替换的起始位置,Count参数代表替换的次数,Compare参数代表了VB字符比较模式(有三种模 式:vbBinaryCompare二进制比较,vbDatabaseCompare数据库比较,vbTextCompare文
本比较)的一个常量。
Replace函数的返回值是源字符串(从参数Start位置开始)经过替换后的新字符串。若在源字符串中没有匹配与查的子字符串,函数将不作替换,返回源字符串。
下面举几个例子来说明这个函数的用法:
语句 返回值
Replace("A1BC1DEFG", "1", "0") "A0BC0DEFG"
Replace("A1BC1DEFG", "1", "") "ABCDEFG"
Replace("A1BC1DEFG", "1", "0", 3) "BC0DEFG"
Replace("A1BC1DEFG", "1", "0", 1, 1) "A0BC1DEFG"
读者可以仔细体会一下。
五、 Instr函数
Function InStr([Start], [String1], [String2], [Compare As VbCompareMethod = vbBinaryCompare])
此函数返回在另一字符串中第一次出现某一字符串的位置,换句话说我们可以用它来查字符。
Start参数为在源字符串中查的起始位置(缺省为1);String1参数代表源字符串;String2参数为与查的字符;Compare为VB比较模式的常量。
函数将返回在源字符串(String1)中从起始位置(Start)开始,第一个被查的子字符串(String2)在源字符串中出现的位置(整型值)。若源字符串(String1)中未含有要查的子字符串(String2),则返回0。
下面取一个详细的实例。任务是在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”),单击“查下一个”按钮进行查。
六、 Space函数
Function Space(Number As Long)
用此函数返回由指定数目空格组成的字符串。参数Number用于指定空格的数目。它还有另一种形式,即Space$。加了“$”后多做一步转化为字符串的操作。
七、 Filter函数
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比较模式的一个常量。
八、 IsNumeric函数
Function IsNumeric(Expression) As Boolean
Isnumeric函数能够用于判断表达式是否为数字。参数Expression为表达式。如果表达式能
够转化成数字则返回True。这里读者要注意它的用法,有些可能比较特殊,比如小数点和正负号等。举例说明:
语句 返回结果 说明
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 注意负号
九、 StrComp函数
Function StrComp(String1, String2, [Compare As VbCompareMethod = vbBinaryCompare])
StrComp函数用于比较两个字符串。如果比较对象两者相同,返回0;否则返回-1。
参数String1和String2代表了两个欲进行比较的字符串,参数Compare为VB比较模式的一个常量。
十、 Split函数
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
十一、Join函数
Function Join(SourceArray, [Delimiter]) As String
将一个数组中的元素合成为一个字符串。这个函数其实是Split函数的逆运算。
参数SourceArray代表源数组,Delimiter为分隔符(缺省情况下为空格)。
用法举例::
Dim a As String
Dim b(1) As String
b(0) = "012"
b(1) = "456"
a = Join(b(), "*")
运行结果:a的值为"012*456"。
十二、String函数
Function String(Number As Long, Character)
返回一个指定长度的重复字符串。
Number参数用于指定返回字符串的长度,参数Character代表重复的字符。
用法举例:String(6, "a")得到的结果为"aaaaaa"。
它还有另一种形式,即String $。加了“$”后多做一步转化为字符串的操作。
十三、StrReverse函数
Function StrReverse(Expression As String) As String
翻转一个字符串。
参数Expression代表源字符串,函数将这个字符转翻转并返回。
用法举例:StrReverse("abcdefg")结果为"gfedcba"。
十四、Lcase和Ucase函数
Function LCase(String)
Function UCase(String)
Lcase函数用于将字符串转化为小写,Ucase函数用于将字符串转化为大写。
参数String为源字符串,注:其中的中文字符是不会转化的。
用法举例:
语句 结果
LCase("ABCdefg文字") "abcdefg文字"
UCase("ABCdefg文字") "ABCDEFG文字"
这两个函数都还有另一种形式,即Lcase$和Ucase$。加了“$”后多做一步转化为字符串的操作。
十五、Len函数
Function Len(Expression)
返回存储一个变量所需的字符串的长度和字节数。
参数Expression为源字符串。
用法举例:Len("ABCdefg文字")结果为9。
十六、Ltrim、Rtrim和Trim函数
Function LTrim(String)
Function RTrim(String)
Function Trim(String)
LTrim函数用于去除字符串左边的空格;RTrim函数用于去除字符串右边的空格;Trim函数
用于去除字符串左右两边的空格。
参数String代表源字符串,函数返回去除空格后的结果。
这三个函数都还有另一种形式,即LTrim$、RTrim$和Trim$。加了“$”后多做一步转化为字符串的操作。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。