Эта статья представляет собой функцию для удаления повторяющихся массивов в asp и была протестирована.
Поскольку я хотел написать что-то для использования, я поискал на Baidu и обнаружил, что друг написал это случайно, и я не проверял это тщательно. Это работало только с символами, но не с числами. Он также имел плохую универсальность и нуждался в модификации. На самом деле его можно было использовать. Мне ничего не оставалось, как написать это самому. После тестирования проблем не возникло. Идея была очень удобной, а код очень коротким, а именно:
Скопируйте код кода следующим образом:
<%
функция cxarraynull(cxstr1,cxstr2)
если isarray(cxstr1), то
cxarraynull = "К сожалению, параметр 1 не может быть массивом"
Выход из функции
конец, если
если cxstr1 = "" или isempty(cxstr1), то
cxarraynull = "нодатировать"
Выход из функции
конец, если
сс = разделение (cxstr1, cxstr2)
cxs = cxstr2&ss(0)&cxstr2
ссс = cxs
для m = 0 до ubound(ss)
cc = cxstr2&ss(m)&cxstr2
если instr(sss,cc)=0, то
ссс = ссс&сс(м)&cxstr2
конец, если
следующий
cxarraynull = вправо (ссс, лен (ссс) - лен (cxstr2))
cxarraynull = left(cxarraynull,len(cxarraynull) - len(cxstr2))
Конечная функция
%>
Использование методов и функций:
1. Два параметра в функции cxarraynull(cxstr1,cxstr2):
cxstr1: Обнаруживаемая переменная массива может быть пустой или иметь другие неизвестные данные об ошибке. Если она пуста или содержать данные об ошибке, возвращается «nodate».
cxstr2: символ разделения массива, который может быть пустым или chr(13) и т. д., выходные данные будут автоматически заменены.
2. Тестовый код:
<%
s="1,2,3,4,2,3,5,3"
s=cxarraynull(s,",")
ответ.напишите s
%>
Выход: 1,2,3,4,5
Расширенная версия Script House решает проблему с запятой в последней цифре массива.
Скопируйте код кода следующим образом:
<%
функция cxarraynull(cxstr1,cxstr2)
если isarray(cxstr1), то
cxarraynull = "К сожалению, параметр 1 не может быть массивом"
Выход из функции
конец, если
если cxstr1 = "" или isempty(cxstr1), то
cxarraynull = "нодатировать"
Выход из функции
конец, если
делать, пока instr(cxstr1,",,")>0
cxstr1=заменить(cxstr1,",,",",")
петля
если правильно(cxstr1,1)="," то
cxstr1=влево(cxstr1,len(cxstr1)-1)
конец, если
сс = разделение (cxstr1, cxstr2)
cxs = cxstr2&ss(0)&cxstr2
ссс = cxs
для m = 0 до ubound(ss)
cc = cxstr2&ss(m)&cxstr2
если instr(sss,cc)=0, то
ссс = ссс&сс(м)&cxstr2
конец, если
следующий
cxarraynull = вправо (ссс, лен (ссс) - лен (cxstr2))
cxarraynull = left(cxarraynull,len(cxarraynull) - len(cxstr2))
конечная функция
%>
Тестовый код:
Скопируйте код кода следующим образом:
s="1,2,3,4,55,55,55,333,333,2,3,5,3,88,,,,,,,66,,66,,,,,,,,,,,,,, ,,,,,,,,,,,,,"
s=cxarraynull(s,",")
ответ.напишите s