Eliminar Caracteres Repetidos

Iniciado por birdez, 30 Mayo 2012, 14:11 PM

0 Miembros y 1 Visitante están viendo este tema.

birdez

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!

kub0x

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.
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate


seba123neo

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 (vbnet) [Seleccionar]
Imports System.Text.RegularExpressions

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim output As String = Regex.Replace("ppaattaaaaaaaatttaaa", "(.)\1{1,}", "$1")
        MsgBox(output)
    End Sub
End Class


saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

birdez


birdez

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

seba123neo

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)
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

birdez

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

$Edu$

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.

Roboto

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?¿?¿?¿?¿?¿

birdez

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!