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> 变量链接列表<br> -------------<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+" <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> |
|