在Access中可以截取字符串吗
在access中,你可以使用一组VBA字符串处理函数实现对字符串的截取。常用的函数有InStr, Left, LTrim, Mid, Right, RTrim,
Trim。
1. InStr 函数
返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置。
语法
InStr([start, ]string1,
string2[, compare])
示例
本示例使用 InStr 函数来查找某字符串在另一个字符串中首次出现的位置。
Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" ' 被搜索的字符串。
SearchChar = "P" ' 要查找字符串 "P"。
' 从第四个字符开始,以文本比较的方式找起。返回值为 6(小写 p)。
' 小写 p 和大写 P 在文本比较下是一样的。
MyPos = Instr(4, SearchString, SearchChar, 1)
' 从第一个字符开使,以二进制比较的方式找起。返回值为 9(大写 P)。
' 小写 p 和大写 P 在二进制比较下是不一样的。
MyPos = Instr(1, SearchString, SearchChar, 0)
' 缺省的比对方式为二进制比较(最后一个参数可省略)。
MyPos = Instr(SearchString, SearchChar) ' 返回 9。
MyPos = Instr(1, SearchString, "W") ' 返回 0。
2. Left,Right 函数
返回 Variant (String),其中包含字符串中从左边(Right从右边)算起指定数量的字符。
语法
Left(string, length)
Right(string, length)
示例
本示例使用 Left 函数来得到某字符串最左边的几个字符。
Dim AnyString, MyStr
AnyString = "Hello World" ' 定义字符串。
MyStr = Left(AnyString, 1) ' 返回 "H"。
MyStr = Left(AnyString, 7) ' 返回 "Hello W"。
MyStr = Left(AnyString, 20) ' 返回 "Hello World"。
3. LTrim、RTrim与 Trim 函数
返回 Variant (String),其中包含指定字符串的拷贝,没有前导空白
(LTrim)、尾随空白 (RTrim) 或前导和尾随空白 (Trim)。
语法
LTrim(string)
RTrim(string)
Trim(string)
必要的 string 参数可以是任何有效的字符串表达式。如果 string 包含 Null,将返回 Null。
示例
本示例使用 LTrim 及 RTrim 函数将某字符串的开头及结尾的空格全部去除。事实上只使用
Trim 函数也可以做到将两头空格全部去除。
Dim MyString, TrimString
MyString = " <-Trim-> " ' 设置字符串初值。
TrimString = LTrim(MyString) ' TrimString = "<-Trim-> "。
TrimString = RTrim(MyString) ' TrimString = " <-Trim->"。
TrimString = LTrim(RTrim(MyString)) ' TrimString = "<-Trim->"。
' 只使用 Trim 函数也同样将两头空格去除。
TrimString = Trim(MyString) ' TrimString = "<-Trim->"。
4. Mid 函数
返回 Variant (String),其中包含字符串中指定数量的字符。
语法
Mid(string, start[,
length])
示例
本示例使用 Mid 语句来得到某个字符串中的几个字符。
Dim MyString, FirstWord, LastWord, MidWords
MyString = "Mid Function Demo" 建立一个字符串。
FirstWord = Mid(MyString, 1, 3) ' 返回 "Mid"。
LastWord = Mid(MyString, 14, 4) ' 返回 "Demo"。
MidWords = Mid(MyString, 5) ' 返回 "Funcion Demo"。
提醒:截取字符串时,通常需要判断字符串位置,,并且截取后或截取前还需要去掉空格,所以以上各个函数可能都会用到