Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: birdez en 30 Mayo 2012, 14:11 pm



Título: Eliminar Caracteres Repetidos
Publicado por: birdez en 30 Mayo 2012, 14:11 pm
Hola buenos dias a todos

Alguien podria ayudarme en una pequeña duda que tengo? Necesito eliminar los caracteres repetidos de una palabra que esta en un TextBox por ejemplo si introduzco  Pataaaaata pues que aparezca en el otro textbox la palabra Patata alguien podria decirme como puedo hacer esto ya q no se me ocurre cm puedo hacerlo lo q no se me ocurre es localizar cada letra de la palabra escrita en el textbox

gracias a todos! un saudo!


Título: Re: Eliminar Caracteres Repetidos
Publicado por: kub0x en 30 Mayo 2012, 14:58 pm
Podrías implementar lo siguiente: si hay alguna letra que se repita secuencialmente (seguidamente) podrias ir eliminandolas, hasta que te quede solo una letra.

Entonces, basándome en lo que te he descrito, si pones Pataaaaata como palabra, el algoritmo que implementes deberia ir borrando las "a"es del intermedio, hasta que solo quede una. De esta manera se respetarían las demas "a"es (letras repetidas).

Saludos.


Título: Re: Eliminar Caracteres Repetidos
Publicado por: seba123neo en 30 Mayo 2012, 15:11 pm
tambien lo podes hacer con expresiones regulares, aca te paso un ejemplo de como seria esto de detectar una letra duplicada, capas este ejemplo tengas que modificarlo a tu gusto, pero te sirve para que veas como puede ser.

Código
  1. Imports System.Text.RegularExpressions
  2.  
  3. Public Class Form1
  4.  
  5.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  6.        Dim output As String = Regex.Replace("ppaattaaaaaaaatttaaa", "(.)\1{1,}", "$1")
  7.        MsgBox(output)
  8.    End Sub
  9. End Class

saludos.


Título: Re: Eliminar Caracteres Repetidos
Publicado por: birdez en 30 Mayo 2012, 16:53 pm
Muchas gracias x la ayuda xD



Título: Re: Eliminar Caracteres Repetidos
Publicado por: birdez en 30 Mayo 2012, 17:18 pm
podrias excplicarme q ace esto?


Dim output As String = Regex.Replace("ppaattaaaaaaaatttaaa", "(.)\1{1,}", "$1")


lo entiendo bn asta despues de lo de "ppaattaaaaaaaatttaaa", a partir de ahi ns bn q significa el resto me lo podrias explicar para entenderlo mejor?

gracias


Título: Re: Eliminar Caracteres Repetidos
Publicado por: seba123neo en 30 Mayo 2012, 21:18 pm
las expresiones regulares son dificiles de entender para el que nunca las vio, yo no se mucho tampoco de esto, pero se que son re utiles para este tipo de cosas con los strings. la explicacion de la expresion es algo asi.

(.) - que coincida con cualquier carácter único y ponerlo en un grupo de captura
\ 1 - Combina el carácter capturado
{1,} - una o más veces

la sustitución es de $1 (ésta es una variable que representa el resultado del primer grupo capturado)


Título: Re: Eliminar Caracteres Repetidos
Publicado por: birdez en 31 Mayo 2012, 08:56 am
creo q esa expresion regular q me pusiste no me vale :S

xq por ejemplo si quiero traducir la palabra "perro" al haber dos letras iguales no me la detecta xq lo tengo programado para q sino encuentra una palabra la traduzca tal cual esta escrita

por ejemplo si voy a traducir "Buenos dias" y buenos no la tengo quedara "Buenos days"

y claro como detecta la repetericion de la "r" no me la traduce supongo q hara la correccion y buscara "pero" pro como no la tengo no traduce

alguna forma de solucionar este problemilla?

gracias


Título: Re: Eliminar Caracteres Repetidos
Publicado por: $Edu$ en 31 Mayo 2012, 17:29 pm
Explicate mejor entonces, tu lo que quieres es que si el usuario escribio mal una palabra que la corriga? por ejemplo con "hoola" que tu programa lo corrija a "hola"? esque vos antes pediste que no se repitan las letras y te dieron respuestas para eso que sirven, pero ahora dices que si pones "perro" no tiene que corregir a "pero" porque traducira mal luego, entonces no estas pensando bien tu algoritmo de traduccion.

Lo que tenes que hacer es que si ingresan "hoola" que busque si existe esa palabra y si no existe, que busque las mas parecida y tu traductor mostrara "No quiso decir "hola"?" y recien ahi si traducir, pero lo de buscar que no se repita una letra no te sirve porque como en el ejemplo de la palabra perro, se repite la r y esta bien.


Título: Re: Eliminar Caracteres Repetidos
Publicado por: Roboto en 31 Mayo 2012, 17:41 pm
birdiez,creo k te estas comiendo mucho la cabeza con ese traductor.....

si el tio mete mal la palabra,tendria k salir un mensaje k dijera,error de palabra o no encontrada,como hace google translator.

p.d: k es un programa de carrera o de modulo?¿?¿?¿?¿?¿


Título: Re: Eliminar Caracteres Repetidos
Publicado por: birdez en 31 Mayo 2012, 17:47 pm
es un modulo del de Desarrolo de Aplicaciones Informaticas y la verdad q el profe no explica del todo bn pro bueno dijo q si la palabra no estaba escita como en los arrays q escribiera el texto tal cual lo pueso el usuario es decir si yo introduzco "perro" y me lo traduce a "pero" y "pero" no lo tengo pues q me ponga "perro"

es digamos un traductor cutre el "bueno" lo tenemos q acer cn bases de datos y ese si q me sta costando un poco mas la verdad si me podeis ayudar en ese mejor..... cree un post en este mismo sitio por si alguien me puede ayudar

gracias x pasaros y x intentar ayudarme un saludo!


Título: Re: Eliminar Caracteres Repetidos
Publicado por: $Edu$ en 31 Mayo 2012, 18:19 pm
Pero no entiendo porque decis "me lo traduce a pero" y luego decis que no lo tenes. Si no lo tenes no traducira.

Es decir, si el usuario ingresa perro y no se encuentra en tu lista de palabras traducidas, que muestre lo que ingreso el usuario, sino que muestre su traduccion.

Podrias dejar ejemplos, minimo 5, para que veamos que es lo que ingresara el usuario y que queres que devuelva el programa..


Título: Re: Eliminar Caracteres Repetidos
Publicado por: birdez en 31 Mayo 2012, 18:21 pm
creo q ya lo tengo solucionado eso xq ingresa una palabra y la corrige si al corregirla esta en mis arrays las traduce sino las deja tal cual estan que es lo q me pedian mcuhas gracias :)

ahora solo me falta q me traduzca fases q es cn lo del split me dijeron pro ns mb cm hacerlo :S

gracias de nuevo