数据结构域算法设计-VBA中的字符串操作教案

上传人:woxinch****an2018 文档编号:39301241 上传时间:2018-05-14 格式:DOC 页数:24 大小:113.50KB
返回 下载 相关 举报
数据结构域算法设计-VBA中的字符串操作教案_第1页
第1页 / 共24页
数据结构域算法设计-VBA中的字符串操作教案_第2页
第2页 / 共24页
数据结构域算法设计-VBA中的字符串操作教案_第3页
第3页 / 共24页
数据结构域算法设计-VBA中的字符串操作教案_第4页
第4页 / 共24页
数据结构域算法设计-VBA中的字符串操作教案_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《数据结构域算法设计-VBA中的字符串操作教案》由会员分享,可在线阅读,更多相关《数据结构域算法设计-VBA中的字符串操作教案(24页珍藏版)》请在金锄头文库上搜索。

1、1 VBA 中的字符串2 VBA 中处理字符串的函数2.1 比较字符串2.2 转换字符串2.3 创建字符串2.4 获取字符串的长度2.5 格式化字符串2.6 查找字符串2.7 提取字符/字符串2.8 删除空格2.9 返回字符代码2.10 返回数值代表的相应字符2.11 使用字节的函数2.12 返回数组的函数2.13 连接字符串2.14 替换字符串2.15 反向字符串- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 1 VBAVBA 中的字符串中的字符串VBA 不仅可以处理数字,也可以处理文本(字符串)。VBA 提供了两类

2、字符串:一类为固定长度的字符串,声明时包含指字的字符数。例如,下面的语句Dim strFixedLong As String*100声明字符串变量后,无论赋予该变量多少个字符,总是只包含 100 个字符,但字符串最长不超过65526 个字符,且需要使用 Trim 函数去掉字符串中多余的空格。定长字符串只有在必要时才使用。另一类为动态字符串。例如,声明字符串变量 Dim strDynamic As String 后,可以给该变量任意赋值,最多可包含 20 亿个字符。- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -2 2 VBA

3、VBA 中处理字符串的函数中处理字符串的函数2.12.1 比较字符串比较字符串通常,在 VBA 中进行字符串比较时,会用到比较运算符(如=、等)、Like 运算符和 StrComp 函数。此外,在模块的开头用 Option Compare 语句指定比较方式。2.1.1 比较运算符可以采用简单的逻辑运算符进行两个字符串的比较,即(大于)、=(大于或等于)、=(等于)、“) 返回 HELLO同理,可以使用“说明:用大写形式显示所有字符。范例:Format(“vba“,“) 返回:VBA!说明:从左向右处理占位符(缺省情况为从右向左处理占位符)。编程方法和技巧(1) 使用没有格式定义的 Format

4、 函数格式化数字比使用 Str 函数格式化数字更好。Format 函数与 Str 函数不同,它会把正数中一般保留用于表示符号的前导空格清除掉。(2) 可以使用 Format 函数以 1000 为单位对数字进行标度,做法是在语句中小数点的左边用一个千位分隔符(,)表示标度数字的一个千位;可以使用多个千位分隔符。例如:Format(1000000,“#0,.“) 返回:1000.Format(1000000,“#0,.“) 返回:1.2.62.6 查找字符串查找字符串2.6.1 InStr 函数可使用 InStr 函数返回一字符串在另一字符串中的位置,因此,也可以使用该函数确定一个字符串中是否包含

5、有另一个字符串。其语法为:InStr(Start,string1,string2,compare)其中,参数 Start 为可选参数,设置查找的起点,如果省略,则从第一个字符的位置开始查找,当指定了参数 Compare 时,则要指定此参数。参数 string1 为被查找的字符串,参数 string2 为要查找的字符串,这两个参数都是必需的。如果在 String1 中没有找到 String2,返回 0;如果找到 String2,则返回 String2 第一个出现的首字符位置(即 1 到 String1 的长度);如果 String2 的长度为零,返回 Start。可看看下面的示例:Sub tes

6、t()Dim SearchString, SearchChar, MyPosSearchString = “XXpXXpXXPXXP“ 被搜索的字符串SearchChar = “P“ 要查找字符串 “P“从第四个字符开始,以文本比较的方式找起,返回值为 6(小写 p)小写 p 和大写 P 在文本比较下是一样的MyPos = InStr(4, SearchString, SearchChar, 1)Debug.Print MyPos从第一个字符开使,以二进制比较的方式找起,返回值为 9(大写 P)小写 p 和大写 P 在二进制比较下是不一样的MyPos = InStr(1, SearchStri

7、ng, SearchChar, 0)Debug.Print MyPos缺省的比对方式为二进制比较(最后一个参数可省略)MyPos = InStr(SearchString, SearchChar) 返回 9Debug.Print MyPosMyPos = InStr(1, SearchString, “W“) 返回 0Debug.Print MyPosEnd Sub2.6.2 InStrRev 函数也可以使用 InStrRev 函数返回一个字符串在另一个字符串中出现的位置,与 InStr 函数不同的是,从字符串的末尾算起。其语法为:InStrRev(String1,String2,Start,

8、compare)参数 String1 为被查找的字符串,参数 String2 为要查找的字符串,这两个参数都是必需的。参数 Start 为可选参数,设置每次查找开始的位置,若忽略则使用-1,表示从上一个字符位置开始查找。参数 Compare 为可选参数,表示所使用的比较方法,如果忽略则执行二进制比较。下面的示例使用了 InStr 函数和 InStrRev 函数,相应的结果不同:Sub test()Dim myString As StringDim sSearch As StringmyString = “I like the functionality that InsStrRev gives

9、“sSearch = “th“Debug.Print InStr(myString, sSearch) 返回 8Debug.Print InStrRev(myString, sSearch) 返回 26End Sub- - - - - - - - - - - - - - - - - - - - - - -2.72.7 提取字符提取字符/ /字符串字符串2.7.1 Left 函数Left 函数可以从字符串的左边开始提取字符或指定长度的字符串,即返回包含字符串中从左边算起指定数量的字符。其语法为:Left(String,CharNum)其中,如果参数 String 包含 Null,则返回 Null

10、;如果参数 CharNum 的值大于或等于 String 的字符数,则返回整个字符串。例如,下面的代码返回指定字符串的前两个字符:strLeft=Left(“This is a pig.” ,2)Left 函数与 InStr 函数结合,返回指定字符串的第一个词,例如下面的代码:str = “This is a pig.“FirstWord = Left(str, InStr(str, “ “) - 1)2.7.2 Right 函数与 Left 函数不同的是,Right 函数从字符串的右边开始提取字符或指定长度的字符串,即返回包含字符串中从右边起指定数量的字符。其语法为:Right(String

11、,CharNum)例如:AnyString = “Hello World“ 定义字符串MyStr = Right(AnyString, 1) 返回 “d“MyStr = Right(AnyString, 6) 返回 “ World“MyStr = Right(AnyString, 20) 返回 “Hello World“如果存放文件名的字符串中没有反斜杠(),下面的代码将反斜杠()添加到该字符串中:If Right(strFileName,1) 0ParseFileName = strFilenameEnd Function2.7.3 Mid 函数Mid 函数可以从字符串中提取任何指定的子字符

12、串,返回包含字符串中指定数量的字符的字符串。其语法为:Mid(String,Start,Len)其中,如果参数 String 包含 Null,则返回 Null;如果参数 Start 超过了 String 的字符数,则返回零长度字符串(“”);如果参数 Len 省略或超过了文本的字符数,则返回字符串从 Start 到最后的所有字符。例如,下面的代码:Str=Mid(“This is a pig.”,6,2)将返回文本“is” 。下面的代码:MyString = “Mid Function Demo“ 建立一个字符串FirstWord = Mid(MyString, 1, 3) 返回 “Mid“L

13、astWord = Mid(MyString, 14, 4) 返回 “Demo“MidWords = Mid(MyString, 5) 返回 “Funcion Demo“Mid 函数常用于在字符串中循环,例如,下面的代码将逐个输出字符:Dim str As StringDim i As IntegerStr=”Print Out each Character”For i=1 to Len(str)Debug.Print Mid(str,i,1)Next i2.7.4 Mid 语句Mid 语句可以用另一个字符串中的字符替换某字符串中指定数量的字符。其语法为:Mid(Stringvar,Start

14、,Len)=string其中,参数 Stringvar 代表为要被更改的字符串;参数 Start 表示被替换的字符开头位置;参数Len 表示被替换的字符数,若省略则全部使用 string;参数 string 表示进行替换的字符串。被替换的字符数量总小于或等于 Stringvar 的字符数;如果 string 的数量大于 Len 所指定的数量,则只取 string 的部分字符。示例如下:MyString = “The dog jumps“ 设置字符串初值Mid(MyString, 5, 3) = “fox“ MyString = “The fox jumps“Mid(MyString, 5) =

15、 “cow“ MyString = “The cow jumps“Mid(MyString, 5) = “cow jumped over“ MyString = “The cow jumpe“Mid(MyString, 5, 3) = “duck“ MyString = “The duc jumpe“- - - - - - - - - - - - - - - - - - - - - - -2.82.8 删除空格删除空格LTrim 函数删除字符串前面的空格;RTrim 函数删除字符串后面的空格;Trim 函数删除两头的空格。示例如下:MyString = “ “ 设置字符串初值TrimStrin

16、g = LTrim(MyString) TrimString = “ “TrimString = RTrim(MyString) TrimString = “ “TrimString = LTrim(RTrim(MyString) TrimString = “ 只使用 Trim 函数也同样将两头空格去除TrimString = Trim(MyString) TrimString = “- - - - - - - - - - - - - - - - - - - - - - -2.92.9 返回字符代码返回字符代码Asc 函数返回指定字符串表达式中第一个字符的字符代码。示例如下:MyNumber = Asc(“A“) 返回 65MyNumber = Asc(“a“) 返回 97MyNum

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号