函数代码: 复制代码 代码如下: <%"******************************************************* "过滤数组重复函数名称:array_no(cxstr1,cxstr2,cxstr3) "cxstr1:任意的字符串,自动识别 "cxstr2:cxstr1中分割符号。 "cxstr3:提取结果中的某一位置字串,等于0时返回为全部,大于数组下标时返回最后. "使用于二维数组 "******************************************************* function array_no(cxstr1,cxstr2,cxstr3) if len(cxstr3) > 0 then if not IsNumeric(cxstr3) then array_no = "对不起,参数3类型必需为数字" Exit Function end if else array_no = "对不起,参数3类型必需为数字" Exit Function end if if isarray(cxstr1) then array_no = "对不起,参数1不能为数组" Exit Function end if if cxstr1 = "" or isempty(cxstr1) then array_no = "没有数据" Exit Function end if ss = split(cxstr1,cxstr2) cxs=cxstr2&ss(0)&cxstr2 sss=cxs for m = 0 to ubound(ss) cc = cxstr2&ss(m)&cxstr2 if instr(sss,cc)=0 then sss = sss&ss(m)&cxstr2 end if next array_no = right(sss,len(sss)-len(cxstr2)) array_no = left(array_no,len(array_no)-len(cxstr2)) if cxstr3 <> 0 then cx_sp = split(array_no,cxstr2) if cxstr3 > ubound(cx_sp) then array_no = cx_sp(ubound(cx_sp)) else array_no = cx_sp(cxstr3) end if end if end function%>
脚本之家增强版本: 解决了数组常见错误 复制代码 代码如下: <% "******************************************************* "过滤数组重复函数名称:array_no(cxstr1,cxstr2,cxstr3) "cxstr1:任意的字符串,自动识别 "cxstr2:cxstr1中分割符号。 "cxstr3:提取结果中的某一位置字串,等于0时返回为全部,大于数组下标时返回最后. "使用于二维数组 "******************************************************* function array_no(cxstr1,cxstr2,cxstr3) if len(cxstr3) > 0 then if not IsNumeric(cxstr3) then array_no = "对不起,参数3类型必需为数字" Exit Function end if else array_no = "对不起,参数3类型必需为数字" Exit Function end if if isarray(cxstr1) then array_no = "对不起,参数1不能为数组" Exit Function end if if cxstr1 = "" or isempty(cxstr1) then array_no = "没有数据" Exit Function end if do while instr(cxstr1,",,")>0 cxstr1=replace(cxstr1,",,",",") loop if right(cxstr1,1)="," then cxstr1=left(cxstr1,len(cxstr1)-1) end if ss = split(cxstr1,cxstr2) cxs=cxstr2&ss(0)&cxstr2 sss=cxs for m = 0 to ubound(ss) cc = cxstr2&ss(m)&cxstr2 if instr(sss,cc)=0 then sss = sss&ss(m)&cxstr2 end if next array_no = right(sss,len(sss)-len(cxstr2)) array_no = left(array_no,len(array_no)-len(cxstr2)) if cxstr3 <> 0 then cx_sp = split(array_no,cxstr2) if cxstr3 > ubound(cx_sp) then array_no = cx_sp(ubound(cx_sp)) else array_no = cx_sp(cxstr3) end if end if end function
主要是增加了判断 复制代码 代码如下: do while instr(cxstr1,",,")>0 cxstr1=replace(cxstr1,",,",",") loop if right(cxstr1,1)="," then cxstr1=left(cxstr1,len(cxstr1)-1) end if