Este artículo es una función para eliminar matrices duplicadas en ASP y ha sido probada.
Como quería escribir algo para su uso, busqué en Baidu y descubrí que un amigo lo había escrito al azar y que no lo había probado con cuidado. Solo funciona con caracteres, pero no con números. También tenía poca versatilidad y necesitaba ser modificado. De hecho, se puede utilizar. No tuve más remedio que escribirlo yo mismo. Después de probarlo, no hubo ningún problema. La idea es muy conveniente y el código es muy corto, como sigue:
Copie el código de código de la siguiente manera:
<%
función cxarraynull(cxstr1,cxstr2)
si isarray(cxstr1) entonces
cxarraynull = "Lo sentimos, el parámetro 1 no puede ser una matriz"
Función de salida
terminar si
si cxstr1 = "" o está vacío (cxstr1) entonces
cxarraynull = "nodate"
Función de salida
terminar si
ss = dividir(cxstr1,cxstr2)
cxs = cxstr2&ss(0)&cxstr2
sss = cxs
para m = 0 a ulimitado(ss)
cc = cxstr2&ss(m)&cxstr2
si instr(sss,cc)=0 entonces
sss = sss&ss(m)&cxstr2
terminar si
próximo
cxarraynull = derecha(sss,len(sss) - len(cxstr2))
cxarraynull = izquierda(cxarraynull,len(cxarraynull) - len(cxstr2))
función final
%>
Usando métodos y funciones:
1. Dos parámetros en la función cxarraynull(cxstr1,cxstr2):
cxstr1: la variable de matriz a detectar puede estar vacía u otros datos de error desconocidos. Cuando está vacía o son datos de error, se devuelve "nodate".
cxstr2: el símbolo de división de la matriz, que puede estar vacío o chr (13), etc., y la salida se reemplazará automáticamente.
2. Código de prueba:
<%
s="1,2,3,4,2,3,5,3"
s=cxarraynull(s,",")
respuesta.escribir s
%>
Salida: 1,2,3,4,5
La versión mejorada de Script House resuelve el problema de la coma en el último dígito de la matriz.
Copie el código de código de la siguiente manera:
<%
función cxarraynull(cxstr1,cxstr2)
si isarray(cxstr1) entonces
cxarraynull = "Lo sentimos, el parámetro 1 no puede ser una matriz"
Función de salida
terminar si
si cxstr1 = "" o está vacío (cxstr1) entonces
cxarraynull = "nodate"
Función de salida
terminar si
hacer mientras instr(cxstr1,",,")>0
cxstr1=reemplazar(cxstr1,",,",",")
bucle
si es correcto(cxstr1,1)=", entonces
cxstr1=izquierda(cxstr1,len(cxstr1)-1)
terminar si
ss = dividir(cxstr1,cxstr2)
cxs = cxstr2&ss(0)&cxstr2
sss = cxs
para m = 0 a ulimitado(ss)
cc = cxstr2&ss(m)&cxstr2
si instr(sss,cc)=0 entonces
sss = sss&ss(m)&cxstr2
terminar si
próximo
cxarraynull = derecha(sss,len(sss) - len(cxstr2))
cxarraynull = izquierda(cxarraynull,len(cxarraynull) - len(cxstr2))
función final
%>
Código de prueba:
Copie el código de código de la siguiente manera:
s="1,2,3,4,55,55,55,333,333,2,3,5,3,88,,,,,,66,,66,,,,,,,,,,,,, ,,,,,,,,,,,"
s=cxarraynull(s,",")
respuesta.escribir s