Split函数详解

Split函数
描述
返回一个下标从零开始的一维数组,它包含指定数目的子字符串。
语法
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。基于您的数据库的信息执行比较。
split函数的使用:
      For Example:
      <%
      public namearray
      qname="Wang;Zhang;Ning"
      response.write qname & "<p><br>"
      namearray=split(qname,";") '把qname字符串以分号分开,然后赋给一个数组
      max=ubound(namearray)
      for counter=0 to max-1
      response.write namearray(counter) & "<p><br>"
      next
      response.write "<hr>"
      %>


本例是一个数据库查询的例子,通过Split函数对查询字段进行了切割。
用于想灵活控制查询或开发更深层应用的一个例子。
<%
     Dim Conn
     Dim Rs
     Dim j
     Dim i
     Set Conn = Server.CreateObject("adodb.connection")
     Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Mydatabase\#GuestBook.mdb")
     Set Rs = Server.CreateObject("Adodb.RecordSet")
     'StrSql="Select * From GuestBook" '等同于下句。
     StrSql=SplitText("Title Content"," ","Select "," From GuestBook",",")
     Rs.Open StrSql, Conn, 1, 3
     Call RsFieldShow("Title Content"," ","标题: 内容:","<br/> <br/>")
     'j=Rs.Fields.count
     'For i=0 to (j-1)
     ' Response.Write("第" & i+1 & "个字段名:" & Rs.Fields(i).Name & "<br><br>")
     'Next
%>
<%
'ASP中把要查询的字段(Content)以字符串形式传递,附有前缀(PreText)、后缀(LastText)。
'要求前后缀产生数组后,与查询字段的数目相同。
Sub RsFieldShow(Byval Content,Byval SplitMark,Byval PreText,Byval LastText)
On Error Resume Next
EveryString=Split(Content,SplitMark)'获得字符串数组,并赋值。
EveryPreText=Split(PreText,SplitMark)
EveryLastText=Split(LastText,SplitMark)
For i=LBound(EveryString) to UBound(EveryString)
Response.Write EveryPreText(i) & Rs(EveryString(i)) & EveryLastText(i) '输出
Next
End Sub
'按照指定的格式输出字符串。
Function SplitText(Byval Content,Byval SplitMark,Byval PreText,Byval LastText,Byval SplitChar)
On Error Resume Next
Dim StrQ
StrQ=Split(Content,SplitMark) '获得字符串数组,并赋值。
For i=LBound(StrQ) to UBound(StrQ) '利用函数取得数组上限和下限。
SplitText=SplitText & StrQ(i) & SplitChar '进行组合
Next
SplitText=Left(SplitText,Len(SplitText)-1) '去掉最后一个符号。
SplitText=PreText & SplitText & LastText '加上前后缀并返回。
End Function
%>

转载于:https://www.cnblogs.com/Actuping/archive/2006/12/09/587540.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值