Reemplazar simbolos en Cadena [ayuda]

Iniciado por Psyke1, 1 Junio 2010, 17:34 PM

0 Miembros y 4 Visitantes están viendo este tema.

Psyke1

Hola, necesito saber cual es la forma óptima de quitar los caracteres que no sean ni numeros ni letras (,$%·"!%&/^¨*: ...) en una cadena...  :)
¿Quizas con Expresiones Regulares?  :huh:
Actualmente meto todos los imbolos a mano en un array y utilizo Replace, no creo que sea la mejor forma... :-\

Gracias! ;D

Shell Root

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Psyke1

#2
Cita de: shellroot@alex-laptop:~$ en  1 Junio 2010, 17:49 PM
Y la cadena de donde sale?

Cita de: *PsYkE1* en  1 Junio 2010, 17:34 PMReplaze,
Replace!
AJJAJA :laugh:
Tranquilo, me confundi... :xD
Como que de donde sale la cadena?Eso importa?  :huh:
Imagina que tengo este texto:
Citar
Hoy, dia lunes (mi dia faborito de la semana):
Tengo que gastar 10$.
Quitar los caracteres que no sean ni numeros ni letras, quedaria asi:
Citar
Hoy dia lunes mi dia faborito de la semana
Tengo que gastar 10

Salu2! ;)

Shell Root

Osea lo preguntaba, ya que podes validar eso, desde el momento en que se haga el input de la cadena, es decir, donde se ingresa esa cadena, pones algún tipo de validaciones con expresiones regulares, donde solo se puede ingresar letras y/o números.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Psyke1

Cita de: shellroot@alex-laptop:~$ en  1 Junio 2010, 18:08 PM
Osea lo preguntaba, ya que podes validar eso, desde el momento en que se haga el input de la cadena, es decir, donde se ingresa esa cadena, pones algún tipo de validaciones con expresiones regulares, donde solo se puede ingresar letras y/o números.
Ok  :), pero eso no es lo que busco, es con una cadena que ya contiene simbolos... :-\
Bueno, creo que lo explique bastante bien en la anterior respuesta... :silbar:

Salu2! ;)

Shell Root

Bueno, podes recorrer la cadena carácter por carácter, verificando cada uno de ellos.  :xD, ya sea de la forma en la que tenés del array o con una expresión regular.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Psyke1

Hago esto:
Código (vb) [Seleccionar]

    Dim a() As String
    a() = Split(",.)(=/&%%?¿¡!#@¨><:;t_-\|{}^[]*+·ªº", "")
    For x = 0 To UBound(a())
        Text1.Text = Replace(Text1.Text, a(x), "")
    Next

Que te parece?¿  :huh:

Salu2! ;)

BlackZeroX

Cita de: BlackZeroX▓▓▒▒░░ en 29 Mayo 2010, 11:50 AM
[b]lo peor que se puede hacer en un lugar de un tema fijado es relacionarlo con otro cuando este no le importa en lo absoluto al individuo sudicho, aquen que lo de expresiones regulares esta bien... pero el ejemplo esta pesimo en este subforo.[/b]

* Aqui la liga a expresiones regulares en vb6.0.

http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/166-expresiones-regulares.htm

Dulce Infierno Lunar!¡.

The Dark Shadow is my passion.

Psyke1

Ya lo vi Balck, pero esque me parecia un poco complicado, no obstante lo intentare con Expresiones Regulares a ver que tal... :P

Gracias! ;D

raul338

#9
En un formulario pone un textbox, un boton y un label :)

Código (vb) [Seleccionar]

Private Const invalidos = "aeiou" ' Cambia por signos o lo que sea :)

Private Sub Command1_Click()
   Dim i As Integer
   Dim tmp As String
   
   tmp = Text1.Text
   For i = 1 To Len(invalidos)
       tmp = Replace(tmp, Mid$(invalidos, i, 1), "")
   Next
   Label1.Caption = tmp
End Sub


Asi de simple :P

Cita de: shellroot@alex-laptop:~$ en  1 Junio 2010, 18:08 PM
Osea lo preguntaba, ya que podes validar eso, desde el momento en que se haga el input de la cadena, es decir, donde se ingresa esa cadena, pones algún tipo de validaciones con expresiones regulares, donde solo se puede ingresar letras y/o números.
Cita de: shellroot@alex-laptop:~$ en  1 Junio 2010, 18:24 PM
Bueno, podes recorrer la cadena carácter por carácter, verificando cada uno de ellos.  :xD, ya sea de la forma en la que tenés del array o con una expresión regular.

Como estas insistente con las expresiones regulares en los ultimos tiempos xDDDD