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
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! ;)
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: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! ;)
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.
Hago esto:
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! ;)
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!¡.
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
En un formulario pone un textbox, un boton y un label :)
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
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!
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