Principales respuestas
Eliminar caracteres especiales

Pregunta
-
Respuestas
-
Hey amigo tu preguntas: Si hay una forma de sustituir los caracteres especiales de una cadena, dejando solo alfanuméricos?
Yo entiendo que tu quieres quitar los caracteres especiales de una cadena de texto al querer ingresarlo a una base de datos, bueno si es así a como yo te entiendo lo puedes hacer de la siguiente manera....
Publica la siguiente función:
Public Function QuitarCaracteres(ByVal cadena As String, Optional ByVal chars As String = ".:<>{}[]^+,;_-/*?¿!$%&/¨Ññ()='áéíóúÁÉÍÓÚ¡|@Û " + Chr(34)) As String Dim i As Integer Dim nCadena As String On Error Resume Next 'Asignamos valor a la cadena de trabajo para 'no modificar la que envía el cliente. nCadena = cadena For i = 1 To Len(chars) nCadena = Replace(nCadena, Mid(chars, i, 1), "") Next i 'Devolvemos la cadena tratada QuitarCaracteres = nCadena End Function
a hora solo la mandas a llamar de la siguiente manera:
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Me.RichTextBox2.Text = QuitarCaracteres(Me.RichTextBox1.Text) End Sub
En este ejemplo puse dos Richtextbox el de la izquierda meti la cadena de caracteres que tu pones abajo y a la derecha el el richtextbox2 veras como sale la respuesta, la cadena ya tratada
Mira el RESULTADO:
A hora bien, si deseas quitar algún carácter mas de la cadena solo agrega el carácter no deseado a la función y listo......espero te sirva mi carnal.....y no olvides marcar como respuesta si te he ayudado....
saludos desde Nicaragua.........
- Editado Reynaldo Sanchez jueves, 6 de diciembre de 2018 13:58
- Propuesto como respuesta Pedro AlfaroModerator jueves, 6 de diciembre de 2018 15:58
- Marcado como respuesta Pablo Rubio lunes, 10 de diciembre de 2018 17:04
Todas las respuestas
-
-
-
Agradezco la respuesta, sin embargo no me ayuda, te explico porque.
Tengo esta cadena en SQL:4C|1|SAAS750304002 | |C1009620|notiene@correo.com |5572326680|0000000000|SAUL SALAZAR ARMAS | | | |AV 90 REGIMIENTO LT 10 MZ 1 GONZALO BAUTISTA OÛ 72350 | | | | | |1|00000000000010100|00000000000000303|00000000000000000|00000000000000303|00000000000000000|00000000000000483|00000000000000000|00000000000000000|
donde aparece GONZALO BAUTISTA, siguen 3 caracteres, los para SQL es un espacio menos, así es como lo interpreta, ya busqué varias formas a través de código de identificarlo, pero sigo sin poder "verlo", entonces, como hacerle para que solo deje letras y númerosÁngel López Mondragón
-
Hola buena tarde
Gracias por la respuesta, ya lo hice pero me marca un error si solo doy de alta la función como me indicas, falta una referencia de objeto.di de alta la referencia:
Imports System.Text.RegularExpressions
Después la función como indicas
Private Function RemoverCaracteresNoValidos(byVal Cadena as String) as string
RemoverCaracteresNoValidos = Regex.Replace(palabras, "[^a-zA-Z0-9_.- ]+", "", RegexOptions.Compiled)
End Function
Saludos
Ángel López Mondragón
-
amigo si cambias el nombre de la variable de entrada tambien debes cambiar la variable adentro de la llamada, estas recibiendo Cadena como String y en Regex.Replace (Palabra.. )
te adjunto la función en VB corregida
Private Function RemoverCaracteresNoValidos(ByVal Cadena As String) As String RemoverCaracteresNoValidos = Regex.Replace(Cadena, "[^a-zA-Z0-9_.- ]+", "", RegexOptions.Compiled) End Function
Saludos
CR
- Editado Claudio Ramírez martes, 4 de diciembre de 2018 19:39
-
Una disculpa por no haber corregido la variable cuando respondí, ya lo había hecho en el programa, igualar las mismas en la función.
Sin embargo, envía error una vez que entra a la Función:
MSJ de error: " analizando "[^a-zA-Z0-9_.- ]+" - Intervalo [x-y] en orden inverso. -"
La función quedó así:
Private Function RemoverCaracteresNoValidos(ByVal Cadena As String) As String
RemoverCaracteresNoValidos = Regex.Replace(Cadena, "[^a-zA-Z0-9_.- ]+", " ", RegexOptions.Compiled)
End Function
Ángel López Mondragón
-
Hey amigo tu preguntas: Si hay una forma de sustituir los caracteres especiales de una cadena, dejando solo alfanuméricos?
Yo entiendo que tu quieres quitar los caracteres especiales de una cadena de texto al querer ingresarlo a una base de datos, bueno si es así a como yo te entiendo lo puedes hacer de la siguiente manera....
Publica la siguiente función:
Public Function QuitarCaracteres(ByVal cadena As String, Optional ByVal chars As String = ".:<>{}[]^+,;_-/*?¿!$%&/¨Ññ()='áéíóúÁÉÍÓÚ¡|@Û " + Chr(34)) As String Dim i As Integer Dim nCadena As String On Error Resume Next 'Asignamos valor a la cadena de trabajo para 'no modificar la que envía el cliente. nCadena = cadena For i = 1 To Len(chars) nCadena = Replace(nCadena, Mid(chars, i, 1), "") Next i 'Devolvemos la cadena tratada QuitarCaracteres = nCadena End Function
a hora solo la mandas a llamar de la siguiente manera:
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Me.RichTextBox2.Text = QuitarCaracteres(Me.RichTextBox1.Text) End Sub
En este ejemplo puse dos Richtextbox el de la izquierda meti la cadena de caracteres que tu pones abajo y a la derecha el el richtextbox2 veras como sale la respuesta, la cadena ya tratada
Mira el RESULTADO:
A hora bien, si deseas quitar algún carácter mas de la cadena solo agrega el carácter no deseado a la función y listo......espero te sirva mi carnal.....y no olvides marcar como respuesta si te he ayudado....
saludos desde Nicaragua.........
- Editado Reynaldo Sanchez jueves, 6 de diciembre de 2018 13:58
- Propuesto como respuesta Pedro AlfaroModerator jueves, 6 de diciembre de 2018 15:58
- Marcado como respuesta Pablo Rubio lunes, 10 de diciembre de 2018 17:04