Split 函数应用示例 ( VBScript版本 )

王朝vb·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

Split 函数应用示例 ( VBScript版本 )

-- Sailflying

Sailflying(车仔)原创,版权所有,如需使用,请与我联系( sailflying@163.net )

动机:

经典论坛里有个朋友问“一串字符,逗号格开,分开做链接,VBS有这种函数吗?”他想解决的是:“一串字符,逗号格开,分开做链接。比如:论坛首页里‘Fly, mjking, stchin, vvjohn, 不太清醒, 苛子, 车仔’每个名字都是一个链接。”

这就需要从输入的变量中读取数据,根据数据项用split函数将其分开,转化为一个数组进行处理,并用trim函数去掉数据前后空格。这样可以轻松的提取自己需要的数值了。

这里我用到了正则表达式中的Split 函数。

Split 函数

将字符串依指定的规则切开。

语法: array split(string pattern, string string, int [limit]);

返回值: 数组

函数种类: 资料处理

内容说明

本函数可将字符串依指定的规则分开。切开后的返回值为数组变量。

参数 pattern 为指定的规则字符串、参数 string 则为待处理的字符串、参数 limit 可省略,表示欲处理的最多合乎值。

值得注意的是本函数的 pattern 参数有区分大小写。。

材料:

表单域 (form1)

文本框 (text1,text2)

显示层 (Layer1)

确定键 (Command1)

效果:

浏览这里

代码:

自定义函数:txtSplit (将输入框中的多个变量分离开来,并显示在列表项,在层中显示每个变量的链接)

<SCRIPT LANGUAGE="VBScript">

<!--

Sub txtSplit()

form1.Text1.value = Replace(form1.Text1.value, " ", "") '清除字串中的空格

If form1.Text1.value <> "" Then

'MsgBox "yes"

'Dim vArr As Variant

'Dim astr(10) As String

'vArr = astr

vArr = Split(form1.Text1.value, ",")

form1.Text2.value = "分离变量列表 "+ vbCrLf + "-------------"+ vbCrLf

Layer1.innerHtml = "<br>&nbsp;&nbsp;变量链接列表<br>&nbsp;&nbsp;-------------<br>"

For i = LBound(vArr) To UBound(vArr)

If (vArr(i) <> "") Then

form1.Text2.value = form1.Text2.value + vArr(i)

If (i < UBound(vArr)) Then

form1.Text2.value = form1.Text2.value + vbCrLf

End If

Layer1.innerHtml= Layer1.innerHtml+"&nbsp;&nbsp;<A target='_blank' HREF=http://www.blueidea.com/bbs/viewuser.asp?username="+vArr(i)+">"+vArr(i)+"</A><br>"

End If

Next

Else

MsgBox "请输入变量。"

End If

End Sub

//-->

</SCRIPT>

表单源码

<form name="form1" >

请输入变量: (变量之间用“,”隔开)

<input type="text" name="text1" style="width:360" value="Fly, mjking, stchin, vvjohn, 不太清醒, 苛子, 车仔 ">

<input type="button" name="Command1" value="分离" onClick="txtSplit()">

<textarea name="text2" rows="9" cols="15" readonly></textarea>

<div id="Layer1" style=" width:160px; height:148px; background-color: #F0F7FF; layer-background-color: #F0F7FF; border: 1px none #000000; clip: rect(10 10 10 10)" align="left">

</div>

</form>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航