Comparación de cadenas (string)

Iniciado por el_lichal, 17 Noviembre 2005, 10:18 AM

0 Miembros y 1 Visitante están viendo este tema.

el_lichal

Hola, tengo el siguiente problema cuando intento comparar estas dos cadenas (CompLiquido2 y CompLiquido), VB las considera diferentes porque al parecer hay un salto de carro

La primera variable, VB la muestra de la siguiente forma:

CompLiquidido2= 0/
0,1/
0,2/
0,3/
0,4/
0,5/
0,6/
0,7/
0,8/
0,9/
0,95/
1/
La segunda variable:
CompLiquido   = 0/0,1/0,2/0,3/0,4/0,5/0,6/0,7/0,8/0,9/0,95/1/

He intentado averiaguar si había un caracter no imprimible


    Dim Posicion As Integer
    Dim Temp As String
       For i = 0 To 255
        Temp = Chr(i)
        Posicion = InStr(CompLiquido, Temp)
               If Posicion > 0 Then Debug.Print ("Temp= " & Temp)
    Next i

La salida es la siguiente:

Temp= ,
Temp= /
Temp= 0
Temp= 1
Temp= 2
Temp= 3
Temp= 4
Temp= 5
Temp= 6
Temp= 7
Temp= 8
Temp= 9

¿Como puedo eliminar el salto de carro?

Gracias

Xpeed

Bueno el salto de carro en VB es vbCrLf ... pero se me ocurre que seria más fácil que metieras los datos en una matriz... no sé si me explico bien... así podrias comparar los contenidos de cada una con un ciclo simplemente y te evitarias eso ... si no me expliqué bien pues avisas...


un saludo.

krispin

prueba con alguno de estos:
Replace "micadena", vbCrLf, ""
Replace "micadena", vbCr, ""
Replace "micadena", vbLf, ""


adiox.

soplo

Hola

Pues todo lo que tienes que hacer es buscar vbcrlf en tu string y quitarlo si lo está.

Para ello Instr(cadena$,cstr(vbcrlf))

Si el resultado es distinto de cero ahí tienes la posición donde está así que solo tendrás que hacer
Posicion=instr(0,cadena$,cstr(vbcrlf))
cadena$=left(cadena$,Posicion-1) & right(cadena$,Posicion+1)

Un saludo
Callar es asentir ¡No te dejes llevar!

el_lichal

Hola, gracias a todos por contestar. Es cierto utilizando la función replace y vbcrlf he conseguido eliminar el salto de carro y que las considere iguales.

También habia podido comparar los elementos 1 a uno utilizando la funcion Split
Split(CompLiquido, "/", -1, 1)
pero me fustraba no saber como eliminar el salto de carro

Gracias de nuevo.