Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

443
Visualizações
¿Cómo eliminar caracteres duplicados en una cadena?

Tengo este problema y simplemente no puedo hacerlo bien. Tengo que eliminar los caracteres duplicados de una cadena.

 phrase = "oo rarato roeroeu aa rouroupa dodo rerei dde romroma"

El resultado debe ser: "O rato roeu a roupa do rei de roma"

Intenté cosas como:

 def remove_duplicates(value): var="" for i in value: if i in value: if i in var: pass else: var=var+i return var print(remove_duplicates(entrada))

Pero aún no está ahí...

¿Algún consejo que me guíe aquí?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

De su ejemplo, parece que desea eliminar SECUENCIAS REPETIDAS de caracteres, no caracteres duplicados en toda la cadena. Así que esto es lo que estoy resolviendo aquí.

Puede usar una expresión regular... no estoy seguro de cuán terriblemente ineficiente es, pero funciona.

 >>> import re >>> phrase = str("oo rarato roeroeu aa rouroupa dodo rerei dde romroma") >>> re.sub(r'(.+?)\1+', r'\1', phrase) 'o rato roeu a roupa do rei de roma'

Cómo procede esta sustitución a lo largo de la cadena:

 oo -> o " " -> " " rara -> ra to -> to " "-> " " roeroe -> roe

etc..

Editar: funciona para la otra cadena de ejemplo que no debe modificarse:

 >>> phrase = str("Barbara Bebe com Bernardo") >>> re.sub(r'(.+?)\1+', r'\1', phrase) 'Barbara Bebe com Bernardo'
over 4 years ago · Santiago Trujillo Relatório

0

Lo que puede hacer es formar un conjunto a partir de la cadena y luego ordenar las letras restantes de acuerdo con su orden original.

 def remove_duplicates(word): unique_letters = set(word) sorted_letters = sorted(unique_letters, key=word.index) # this will give you a list return ''.join(sorted_letters) words = phrase.split(' ') new_phrase = ' '.join(remove_duplicates(word) for word in words)
over 4 years ago · Santiago Trujillo Relatório

0

En realidad, agrego un espacio al final del space . Después de eso esto está funcionando

código

 phrase =("oo rarato roeroeu aa rouroupa dodo rerei dde romroma ") print(phrase) ch="" ali=[] for i in phrase: if i ==" ": print(ch) ch="" if i not in ch: ch=ch+i

Producción

 o rato roeu a roupa do rei de roma
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda