コードをコピーします コードは次のとおりです:
'************************************ ***** ******************
'フィルター配列重複関数名: 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 の型は数値である必要があります"
関数終了
end if
else
array_no = "申し訳ありませんが、パラメータ 3 の型は数値である必要があります"
終了関数
end if
if isarray(cxstr1) then
array_no = "申し訳ありませんが、パラメーター 1 は配列にすることはできません"
終了関数
end if
if cxstr1 = "" または isempty (cxstr1) then
array_no = "データなし"
関数終了
end if
do while instr(cxstr1,",,")>0
cxstr1=replace(cxstr1," ,,",",")
ループ
if right(cxstr1, 1)=," then
cxstr1=left(cxstr1,len(cxstr1)-1)
end if
ss = split(cxstr1,cxstr2)
cxs=cxstr2&ss(0)&cxstr2
sss=cxs
m = 0 から 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 ubound( cx_sp) then
array_no = cx_sp(ubound(cx_sp))
else
array_no = cx_sp(cxstr3)
end if
end if
end function
s1 = "abc,aa,bb,cdef,bc,abcdef,hhgg,gggg,cde,edc, 333,,,,,333,7,,,,"
s2 = "1,2,3,11, 22,33,12,13,14,11,33,333,14,333,,,,,333, 7,,,,"
s3 = ""
s4 = "sdf,abc,12,2,2 ,abc,333,,,,,333,7,,,,"
s5 = split(s4)
response.write "文字列が文字の場合:"&array_no(s1,",",0 )&"
"
response.write "文字列が数値の場合:"&array_no (s2,",",0)&"
response.write "文字列が数値の場合is empty:"&array_no(s3,",",0)&"
"
response.write "文字列が混合文字列の場合:"&array_no(s4,",",0)&"< ;br>gt;"
response.write "文字列が配列の場合:"&array_no(s5,",", 0)&"
"
response.write "文字列が未知の変数の場合:"&array_no(s33,",",0)&"
"
response.write "ある数字を抽出する場合、添え字を超えない: "&array_no(s1,",", 2)&"
"
response.write "特定の桁を抽出すると、添字を超えます: "&array_no(s1 ,",",200)&"
% >
主に判定を追加します
do while instr(cxstr1,",,")>0
cxstr1=replace(cxstr1,",,", ",")
loop
if right(cxstr1,1 )=、" then
cxstr1=left(cxstr1,len(cxstr1)-1)
end if