| 
	
		|  Autor | Tema: Comparación de cadenas (string)  (Leído 2,922 veces) |  
	| 
			| 
					
						| el_lichal 
								
								 Desconectado 
								Mensajes: 9
								
								
								
								
								
								   | 
 
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
 
 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| Xpeed 
								 
								
								 Desconectado 
								Mensajes: 472
								
								 
								Res Publica Non Dominetur
								
								
								
								
								
								   | 
 
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.
 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| krispin | 
 
prueba con alguno de estos:Replace "micadena", vbCrLf, ""
 Replace "micadena", vbCr, ""
 Replace "micadena", vbLf, ""
 
 
 adiox.
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| soplo 
								Ex-Staff    Desconectado 
								Mensajes: 3.592
								 
								Debian rool'z
								
								
								
								
								
								   | 
 
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
 |  
						| 
								|  |  
								|  |  En línea | 
 
 Callar es asentir ¡No te dejes llevar! |  |  |  | 
			| 
					
						| el_lichal 
								
								 Desconectado 
								Mensajes: 9
								
								
								
								
								
								   | 
 
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.
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | [?] cambiar una comparacion de const char * a metodo string.compare Programación C/C++
 | Drakomorh | 2 | 4,351 |  25 Mayo 2011, 18:58 pm por Littlehorse
 |  
						|   |   | comparacion de un string con char en java Java
 | sauce19 | 9 | 13,752 |  23 Agosto 2011, 17:39 pm por someRandomCode
 |  
						|   |   | comparacion de cadenas
							« 1 2 » Programación C/C++
 | m@o_614 | 10 | 7,675 |  19 Febrero 2012, 18:11 pm por Sagrini
 |  
						|   |   | Comparación de cadenas
							« 1 2 » Programación C/C++
 | kaostias | 10 | 6,637 |  24 Octubre 2013, 16:05 pm por kaostias
 |  
						|   |   | [Python] Duda con comparacion de cadenas en una lectura de socket Python
 | Príncipe_Azul | 2 | 3,893 |  8 Noviembre 2013, 08:39 am por Príncipe_Azul
 |    |