Este artigo é uma função para excluir matrizes duplicadas em asp e foi testado.
Como eu queria escrever algo para usar, pesquisei no Baidu e descobri que um amigo havia escrito aleatoriamente, e havia muitos deles que não testei com cuidado. Só funcionava com caracteres, mas não com números. Ele também tinha pouca versatilidade e precisava ser modificado. Não tive escolha a não ser escrever sozinho. Após o teste, não houve nenhum problema. A ideia era muito conveniente e o código era muito curto, como segue:
Copie o código do código da seguinte forma:
<%
função cxarraynull(cxstr1,cxstr2)
se isarray(cxstr1) então
cxarraynull = "Desculpe, o parâmetro 1 não pode ser um array"
Função de saída
terminar se
se cxstr1 = "" ou isempty(cxstr1) então
cxarraynull = "nodato"
Função de saída
terminar se
ss = dividir(cxstr1,cxstr2)
cxs = cxstr2&ss(0)&cxstr2
sss = cxs
para m = 0 para ubound(ss)
cc = cxstr2&ss(m)&cxstr2
se instr(sss,cc)=0 então
sss = sss&ss(m)&cxstr2
terminar se
próximo
cxarraynull = direita(sss,len(sss) - len(cxstr2))
cxarraynull = esquerda(cxarraynull,len(cxarraynull) - len(cxstr2))
função final
%>
Usando métodos e funções:
1. Dois parâmetros na função cxarraynull(cxstr1,cxstr2):
cxstr1: A variável da matriz a ser detectada pode estar vazia ou outros dados de erro desconhecidos. Quando está vazia ou com dados de erro, "nodate" é retornado.
cxstr2: O símbolo de divisão do array, que pode estar vazio ou chr(13), etc., e a saída será substituída automaticamente.
2. Código de teste:
<%
s = "1,2,3,4,2,3,5,3"
s=cxarraynull(s,",")
resposta.write s
%>
Saída: 1,2,3,4,5
A versão aprimorada do Script House resolve o problema da vírgula no último dígito do array.
Copie o código do código da seguinte forma:
<%
função cxarraynull(cxstr1,cxstr2)
se isarray(cxstr1) então
cxarraynull = "Desculpe, o parâmetro 1 não pode ser um array"
Função de saída
terminar se
se cxstr1 = "" ou isempty(cxstr1) então
cxarraynull = "nodato"
Função de saída
terminar se
faça enquanto instr(cxstr1,",,")>0
cxstr1=substituir(cxstr1,",,",")
laço
se certo(cxstr1,1)="," então
cxstr1=esquerda(cxstr1,len(cxstr1)-1)
terminar se
ss = dividir(cxstr1,cxstr2)
cxs = cxstr2&ss(0)&cxstr2
sss = cxs
para m = 0 para ubound(ss)
cc = cxstr2&ss(m)&cxstr2
se instr(sss,cc)=0 então
sss = sss&ss(m)&cxstr2
terminar se
próximo
cxarraynull = direita(sss,len(sss) - len(cxstr2))
cxarraynull = esquerda(cxarraynull,len(cxarraynull) - len(cxstr2))
função final
%>
Código de teste:
Copie o código do código da seguinte forma:
s = "1,2,3,4,55,55,55,333,333,2,3,5,3,88,,,,,,,66,,66,,,,,,,,,,,,, ,,,,,,,,,,,"
s=cxarraynull(s,",")
resposta.write s