Foros del Web » Programando para Internet » ASP Clásico »

ayuda cadena (eliminar los iguales)

Estas en el tema de ayuda cadena (eliminar los iguales) en el foro de ASP Clásico en Foros del Web. hola tengo una cadena tipo "01,02,01,01,05," Si os dais cuenta despues de cada numero hay una "," Lo que necesito es que elimine de la ...
  #1 (permalink)  
Antiguo 08/02/2005, 19:49
 
Fecha de Ingreso: noviembre-2002
Mensajes: 746
Antigüedad: 21 años, 7 meses
Puntos: 6
ayuda cadena (eliminar los iguales)

hola tengo una cadena tipo

"01,02,01,01,05,"

Si os dais cuenta despues de cada numero hay una ","
Lo que necesito es que elimine de la cadena los numeros con su "coma" cuando sean iguales por lo que deberia quedar
"01,02,05,"

Necesito un poco de orientacion, he buscado funciones en VB pero no encontre una perfecta.

gracias
  #2 (permalink)  
Antiguo 09/02/2005, 01:10
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 5 meses
Puntos: 3
Me pareción interesante tu pregunta y decidí tomarme un tiempo para desarrollarla, la puedes utilizar para lo que quieras... es más voy a ponerlo en el post de funciones, rutinas y librerias y aquí también para que soluciones tu problema


<%
cadena = "01,02,01,01,05,05,10,02,05,01,04,100,50,04,02 "
V = Split(cadena,",")
cant = Ubound(V)
num = -1
do
num = num + 1
for i = num+1 to Cint(cant)
if Cstr(V(num)) = V(i) then
V(i) = ""
end if
next
loop until num = cant-1
for a = 0 to CInt(cant)
if Cstr(V(a)) <> "" then xcadena = xcadena & "," & V(a)
next
xcadena = right(xcadena,len(xcadena)-1)
response.write(xcadena)
%>
SUERTE!
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #3 (permalink)  
Antiguo 09/02/2005, 01:12
Avatar de OYEME  
Fecha de Ingreso: marzo-2004
Ubicación: Lima
Mensajes: 307
Antigüedad: 20 años, 3 meses
Puntos: 1
bueno una sol seria tienes que recorrerte la cadena con un for
y extrae la primera serie esa co,parala con las demas osea tienes que hacer otro for de ahi anda juntandolo en una nueva cadena
__________________
http://www.luisariashidalgo.com
  #4 (permalink)  
Antiguo 09/02/2005, 01:15
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 5 meses
Puntos: 3
sería bueno q dieramos más ejemplos. a ver, cómo harías tu oyeme (con ejenplo si puedes)?
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #5 (permalink)  
Antiguo 09/02/2005, 01:31
Avatar de OYEME  
Fecha de Ingreso: marzo-2004
Ubicación: Lima
Mensajes: 307
Antigüedad: 20 años, 3 meses
Puntos: 1
cad = "01,02,01,03,02,04"
i = 1
Do While i <= Len(cad)
cont = 0
j = i + 3
Do While j <= Len(cad)
If Mid(cad, i, 2) = Mid(cad, j, 2) Then
cont = cont + 1
End If
j = j + 3
Loop
If cont = 0 Then
NC = NC & Mid(cad, i, 2) & ","
End If
i = i + 3
Loop


bueno esta podria ser otra
__________________
http://www.luisariashidalgo.com
  #6 (permalink)  
Antiguo 09/02/2005, 01:35
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 5 meses
Puntos: 3
y qué pasa si la cadena es ésta?:
cad = "100,02,01,03,02,04"?
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #7 (permalink)  
Antiguo 09/02/2005, 01:37
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 5 meses
Puntos: 3
he posteado esto en funciones, subrutinas y librerías:

Cómo hacer si tengo una cadena y no quiero que se repitan números, letras o lo que sea... bueno, aquí les mando una función:

Código:
<%
function no_repetir(cadena,separacion)
V = Split(cadena,separacion)
cant = Ubound(V)
num = -1
do
num = num + 1
for i = num+1 to Cint(cant)
if Cstr(V(num)) = V(i) then
V(i) = ""
end if
next
loop until num = cant-1
for a = 0 to CInt(cant)
if Cstr(V(a)) <> "" then xcadena = xcadena & separacion & V(a)
next
no_repetir = right(xcadena,len(xcadena)-1)
end function
%>
ahora la página q llamará a la función
Código:
<%
cadena = "01,02,01,50,500,500"
response.Write(no_repetir(cadena,","))
%>
como ven digo q se imprima lo que devuelve la función, le envio la cadena con los datos y el otro parámetro dice de qué forma están separados los números, han podido ser palabras, letras y la separación x ejemplo un espacio..
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #8 (permalink)  
Antiguo 09/02/2005, 01:47
Avatar de OYEME  
Fecha de Ingreso: marzo-2004
Ubicación: Lima
Mensajes: 307
Antigüedad: 20 años, 3 meses
Puntos: 1
holsa mamon no sabia para que servia la funcion split te creaba un arrgelo bueno que te parece este codigo:
cad = "01,01,02,03,01,02,05,06,01"
v = Split(cad, ",")
For i = 0 To UBound(v)
cont = 0
For j = i + 1 To UBound(v)
If v(i) = v(j) Then
cont = cont + 1
End If
Next
If cont = 0 Then
nc = nc & v(i) & ","
End If
Next
nc = Left(nc, Len(nc) - 1)
creo podrias tomarla en cuenta para la funcion que has hecho no crees????
__________________
http://www.luisariashidalgo.com
  #9 (permalink)  
Antiguo 09/02/2005, 01:51
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 5 meses
Puntos: 3
claro.. esa es otra buena forma de hacerlo
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #10 (permalink)  
Antiguo 09/02/2005, 01:53
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 5 meses
Puntos: 3
No sé si me puedan ayudar con este post (es mio)
http://www.forosdelweb.com/f59/iis-268952/
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #11 (permalink)  
Antiguo 09/02/2005, 07:05
 
Fecha de Ingreso: noviembre-2002
Mensajes: 746
Antigüedad: 21 años, 7 meses
Puntos: 6
pues muchas gracias a los dos, la idea de mamon era la que intente desarroyar pero me rendi antes de conseguirlo.

gracias a todos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:12.