網頁設計

當前位置 /首頁/設計製作/網頁設計/列表

asp陣列重複刪除函式

因為要寫個東西用到,所以百度了一下,居然有朋友亂寫,而且比較多,都沒有認真測試過,只對字元可以,但是對數字就不可以,而且通用性很差,需要修改才可以真正使用。沒辦法就自己寫了,經過測試完全沒有問題,而且思路很方便,程式碼很短,如下:

asp陣列重複刪除函式

複製程式碼 程式碼如下:

<%

function cxarraynull(cxstr1,cxstr2)

if isarray(cxstr1) then

cxarraynull = "對不起,引數1不能為陣列"

Exit Function

end if

if cxstr1 = "" or isempty(cxstr1) then

cxarraynull = "nodate"

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

cxarraynull = right(sss,len(sss) - len(cxstr2))

cxarraynull = left(cxarraynull,len(cxarraynull) - len(cxstr2))

end Function

%>

使用方法和函式表示:

1、cxarraynull(cxstr1,cxstr2)函式中的.兩個引數:

cxstr1:要檢測的陣列變數,可以為空,或其它未知的錯誤資料,當為空或則為錯誤資料返回"nodate"。

cxstr2:陣列的分割符號,可以為空,或為chr(13)等,自動替換輸出。

2、測試程式碼:

<%

s="1,2,3,4,2,3,5,3"

s=cxarraynull(s,",")

e s

%>

輸出:1,2,3,4,5

增強版本,解決了陣列中最後一位的,逗號問題。

複製程式碼 程式碼如下:

<%

function cxarraynull(cxstr1,cxstr2)

if isarray(cxstr1) then

cxarraynull = "對不起,引數1不能為陣列"

Exit Function

end if

if cxstr1 = "" or isempty(cxstr1) then

cxarraynull = "nodate"

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

cxarraynull = right(sss,len(sss) - len(cxstr2))

cxarraynull = left(cxarraynull,len(cxarraynull) - len(cxstr2))

end function

%>

測試程式碼:

複製程式碼 程式碼如下:

s="1,2,3,4,55,55,55,333,333,2,3,5,3,88,,,,,,,66,,66,,,,,,,,,,,,,,,,,,,,,,,,"

s=cxarraynull(s,",")

e s

TAG標籤:ASP 陣列 函式 #