Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: Psyke1 en 1 Junio 2010, 17:34 PM

Título: Reemplazar simbolos en Cadena [ayuda]
Publicado por: Psyke1 en 1 Junio 2010, 17:34 PM
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
Título: Re: Reemplazar simbolos en Cadena [ayuda]
Publicado por: Shell Root en 1 Junio 2010, 17:49 PM
Y la cadena de donde sale?

Cita de: *PsYkE1* en  1 Junio 2010, 17:34 PMReplaze,
Replace!
Título: Re: Reemplazar simbolos en Cadena [ayuda]
Publicado por: Psyke1 en 1 Junio 2010, 18:00 PM
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! ;)
Título: Re: Reemplazar simbolos en Cadena [ayuda]
Publicado por: Shell Root 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.
Título: Re: Reemplazar simbolos en Cadena [ayuda]
Publicado por: Psyke1 en 1 Junio 2010, 18:11 PM
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! ;)
Título: Re: Reemplazar simbolos en Cadena [ayuda]
Publicado por: Shell Root 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.
Título: Re: Reemplazar simbolos en Cadena [ayuda]
Publicado por: Psyke1 en 1 Junio 2010, 20:55 PM
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! ;)
Título: Re: Reemplazar simbolos en Cadena [ayuda]
Publicado por: BlackZeroX en 1 Junio 2010, 23:43 PM
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!¡.

Título: Re: Reemplazar simbolos en Cadena [ayuda]
Publicado por: Psyke1 en 2 Junio 2010, 00:02 AM
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
Título: Re: Reemplazar simbolos en Cadena [ayuda]
Publicado por: raul338 en 2 Junio 2010, 00:56 AM
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
Título: Re: Reemplazar simbolos en Cadena [ayuda]
Publicado por: Psyke1 en 2 Junio 2010, 01:16 AM
Gracias tio! es parecido a lo que habia pensado yo... ;)
Cita de: raul338 en  2 Junio 2010, 00:56 AM
Como estas insistente con las expresiones regulares en los ultimos tiempos xDDDD
JAJAJAJAJAJA  :laugh:
No se, tienen pinta de ser muy utiles... :P

Salu2!
Título: Re: Reemplazar simbolos en Cadena [ayuda]
Publicado por: Shell Root en 2 Junio 2010, 07:38 AM
Cita de: raul338 en  2 Junio 2010, 00:56 AMComo estas insistente con las expresiones regulares en los ultimos tiempos xDDDD

jajaja claro, porque podría practicar un poco de ReDoS! xD