jueves, octubre 30, 2008

Extraer simbolo "$" de una cadena

Esta funcion recursiva sirve para extraer un simbolo en espesifico ( en este caso el simbolo de $)de una cadena aun si este se repite varias veces dentro de dicha cadena.


Public Function Extraerdolar(ByRef Strcade As String) As String Dim Intpos As Integer 'Instr() devuelve la posicion inicial donde se encuentra el caracter 'que estamos comparando, entonces desde esa posicion empesamos a quitar caracteres
Intpos = InStr(Strcade, "$")
' si IntPos es mayor a cero quiere decir que encontro el caracter buscado
Do While Intpos > 0
'aqui se empieza por el valor de Intpos, tomamos el caracter inmediatamente anterior 'y el inmediatamente posterios "quitamos" el caracter que queda en medio ($), 'luego juntamos las "dos cadenas" que nos quedan

Strcade = Mid(Strcade, 1, Intpos - 1) & Mid(Strcade, Intpos + 1, Len(Strcade))
'si existe mas de un signo de dolar en la cadena llamar otra vez la funcion
Strcade = Extraerdolar(Strcade)
' ponemos una condicion de termino, si intpos = 0 esta fuera del rango de busqueda
' y terminan las llamadas a la funcion
Intpos = 0
Loop
Extraerdolar = Strcade

End Function