哪位熟悉Join函数和Split函数的用法?
用VB创建了一个Access数据库,其中有一个二维数组需要存储和提取,请赐教Join函数和Split函数的用法,多谢! 问题点数:30、回复次数:5Top
1 楼ferrytang(欢迎你)回复于 2002-02-27 17:57:16 得分 6
返回一个下标从零开始的一维数组,它包含指定数目的子字符串。
语法
Split(expression[, delimiter[, count[, compare]]])
Split函数语法有如下几部分:
部分 描述
expression 必需的。包含子字符串和分隔符的字符串表达式 。如果expression是一个长度为零的字符串(""),Split则返回一个空数组,即没有元素和数据的数组。
delimiter 可选的。用于标识子字符串边界的字符串字符。如果忽略,则使用空格字符(" ")作为分隔符。如果delimiter是一个长度为零的字符串,则返回的数组仅包含一个元素,即完整的 expression字符串。
count 可选的。要返回的子字符串数,–1表示返回所有的子字符串。
compare 可选的。数字值,表示判别子字符串时使用的比较方式。关于其值,请参阅“设置值”部分。
设置值
compare参数的设置值如下:
常数 值 描述
vbUseCompareOption –1 用Option Compare语句中的设置值执行比较。
vbBinaryCompare 0 执行二进制比较。
vbTextCompare 1 执行文字比较。
vbDatabaseCompare 2 仅用于Microsoft Access。基于您的数据库的信息执行比较。
Join函数
描述
返回一个字符串,该字符串是通过连接某个数组中的多个子字符串而创建的。
语法
Join(list[, delimiter])
Join函数语法有如下几部分:
部分 描述
list 必需的。包含被连接子字符串的一维数组。
delimiter 可选的。在返回字符串中用于分隔子字符串的字符。如果忽略该项,则使用空格(" ")来分隔子字符串。如果delimiter是零长度字符串(""),则列表中的所有项目都连接在一起,中间没有分隔符。
Top
2 楼playyuer(退休干部 卧鼠藏虫)回复于 2002-02-27 17:59:35 得分 12
问题: 如何在字符串:"name;age;addr;sex" 中指定位置插入新字符串:"School",变为: "name;age;addr;school;sex"?
解答: 先 Split,再 Join,可编写如下函数:
Public Function InsertIntoString(StringX As String, i As Long, StringY As String, Optional Delimiter As String = " ") As String
'StringX 为原字符串,i 为第 i 个 ";",'StringY 为要插入的字符串,'Delimiter 为分隔符
Dim a() As String
a = VBA.Split(VBA.Trim(StringX), Delimiter)
If i < LBound(a) + 1 Then
a(LBound(a)) = StringY & Delimiter & a(LBound(a)) '插在最前
ElseIf i > UBound(a) + 1 Then
a(UBound(a)) = a(UBound(a)) & Delimiter & StringY '插在最后
Else
a(LBound(a) + i - 1) = a(LBound(a) + i - 1) & Delimiter & StringY '插在中间
End If
InsertIntoString = VBA.Join(a, Delimiter)
End Function
Private Sub Command1_Click() '测试程序
VBA.MsgBox InsertIntoString("name;age;addr;sex", 0, "school", ";") '插在最前
VBA.MsgBox InsertIntoString("name;age;addr;sex", 1, "school", ";") '插在中间
VBA.MsgBox InsertIntoString("name;age;addr;sex", 9, "school", ";") '插在最后
End SubTop
3 楼sonicdater(事过境迁,除了技术,我什么都没有了)回复于 2002-02-27 18:00:17 得分 12
Dim A(2)
A(0)="a"
A(1)="b"
A(2)="c"
Debug.print Join(A(2),"/") '结果: a/b/c
'用 符号/ 连接 数组
==============================================
Dim strTest As String
Dim A
strTest = "a/b/c"
A = Split (strTest,"/")
print A(0)
print A(1)
print A(2) '结果 :cTop
4 楼hanjia()回复于 2002-02-27 18:03:09 得分 0
这些都在书上看过,有没有代码例子?Top
5 楼sonicdater(事过境迁,除了技术,我什么都没有了)回复于 2002-02-27 18:10:10 得分 0
我的是自己 写的, 不过 没调试。Top




