Dada una serie de caracteres, que es básicamente una oración. Sin embargo, no hay espacio entre diferentes palabras y la primera letra de cada palabra está en mayúsculas. Debe imprimir esta oración después de las siguientes enmiendas:
- Ponga un solo espacio entre estas palabras.
- Convertir las letras mayúsculas a minúsculas
Ejemplos:
Input : BruceWayneIsBatman Output : bruce wayne is batman Input : GeeksForGeeks Output : geeks for geeks
Tenemos una solución existente para este problema, consulte el enlace Colocar espacios entre palabras que comienzan con letras mayúsculas .
Podemos resolver este problema rápidamente en python usando el método findall() de la biblioteca re (regex) .
Acercarse :
- Dividir cada palabra comenzando con una letra mayúscula usando el método re.findall(expression, str) .
- Ahora cambia la letra mayúscula de cada palabra a minúsculas y concatena cada palabra con espacio.
Implementación:
Python3
import re def putSpace(input): # regex [A-Z][a-z]* means any string starting # with capital character followed by many # lowercase letters words = re.findall('[A-Z][a-z]*', input) # Change first letter of each word into lower # case for i in range(0,len(words)): words[i]=words[i][0].lower()+words[i][1:] print(' '.join(words)) # Driver program if __name__ == "__main__": input = 'BruceWayneIsBatman' putSpace(input)
Producción
bruce wayne is batman
Complejidad temporal: O(n)
Espacio auxiliar: O(n)
Publicación traducida automáticamente
Artículo escrito por Shashank Mishra y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA