Poner espacios entre palabras que comienzan con mayúsculas

Se le da 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: 

  1. Ponga un solo espacio entre estas palabras. 
  2. Convierte las letras mayúsculas a minúsculas.

Ejemplos: 

Input : BruceWayneIsBatman
Output : bruce wayne is batman

Input :  You
Output :  you

Verificamos si el carácter actual está en mayúsculas, luego imprimimos «» (espacio) y lo convertimos en minúsculas. 

Implementación:

C++

// C++ program to put spaces between words starting
// with capital letters.
#include <iostream>
using namespace std;
 
// Function to amend the sentence
void amendSentence(string str)
{
    // Traverse the string
    for(int i=0; i < str.length(); i++)
    {
        // Convert to lowercase if its
        // an uppercase character
        if (str[i]>='A' && str[i]<='Z')
        {
            str[i]=str[i]+32;
 
            // Print space before it
            // if its an uppercase character
            if (i != 0)
                cout << " ";
 
            // Print the character
            cout << str[i];
        }
 
        // if lowercase character
        // then just print
        else
            cout << str[i];
    }
}
 
// Driver code
int main()
{
    string str ="BruceWayneIsBatman";
    amendSentence(str);
    return 0;
}

Java

// Java program to put spaces between words starting
// with capital letters.
 
import java.util.*;
import java.lang.*;
import java.io.*;
 
class AddSpaceinSentence
{
    // Function to amend the sentence
    public static void amendSentence(String sstr)
    {
        char[] str=sstr.toCharArray();
         
        // Traverse the string
        for (int i=0; i < str.length; i++)
        {
            // Convert to lowercase if its
            // an uppercase character
            if (str[i]>='A' && str[i]<='Z')
            {
                str[i] = (char)(str[i]+32);
                 
                // Print space before it
                // if its an uppercase character
                if (i != 0)
                    System.out.print(" ");
     
                // Print the character
                System.out.print(str[i]);
            }
     
            // if lowercase character
            // then just print
            else
            System.out.print(str[i]);
        }
    }    
     
    // Driver Code
    public static void main (String[] args)
    {
        String str ="BruceWayneIsBatman";
        amendSentence(str);
    }
}

Python3

# Python3 program to put spaces between words
# starting with capital letters.
 
# Function to amend the sentence
def amendSentence(string):
    string = list(string)
 
    # Traverse the string
    for i in range(len(string)):
 
        # Convert to lowercase if its
        # an uppercase character
        if string[i] >= 'A' and string[i] <= 'Z':
            string[i] = chr(ord(string[i]) + 32)
 
            # Print space before it
            # if its an uppercase character
            if i != 0:
                print(" ", end = "")
 
            # Print the character
            print(string[i], end = "")
 
        # if lowercase character
        # then just print
        else:
            print(string[i], end = "")
 
# Driver Code
if __name__ == "__main__":
    string = "BruceWayneIsBatman"
    amendSentence(string)
 
# This code is contributed by
# sanjeev2552

C#

// C# program to put spaces between words
// starting with capital letters.
using System;
         
public class GFG {
     
    // Function to amend the sentence
    public static void amendSentence(string sstr)
    {
        char[] str = sstr.ToCharArray();
         
        // Traverse the string
        for (int i = 0; i < str.Length; i++)
        {
             
            // Convert to lowercase if its
            // an uppercase character
            if (str[i] >= 'A' && str[i] <= 'Z')
            {
                str[i] = (char)(str[i] + 32);
                 
                // Print space before it
                // if its an uppercase
                // character
                if (i != 0)
                    Console.Write(" ");
     
                // Print the character
                Console.Write(str[i]);
            }
     
            // if lowercase character
            // then just print
            else
                Console.Write(str[i]);
        }
    }
     
    // Driver Code
    public static void Main ()
    {
        string str ="BruceWayneIsBatman";
         
        amendSentence(str);
    }
         
}
 
// This code is contributed by Sam007.

Javascript

<script>
 
    // JavaScript program to put spaces between words
    // starting with capital letters.
     
    // Function to amend the sentence
    function amendSentence(sstr)
    {
        let str = sstr.split('');
           
        // Traverse the string
        for (let i = 0; i < str.length; i++)
        {
               
            // Convert to lowercase if its
            // an uppercase character
            if (str[i].charCodeAt() >= 'A'.charCodeAt() &&
            str[i].charCodeAt() <= 'Z'.charCodeAt())
            {
              str[i] =
              String.fromCharCode(str[i].charCodeAt() + 32);
                   
                // Print space before it
                // if its an uppercase
                // character
                if (i != 0)
                    document.write(" ");
       
                // Print the character
                document.write(str[i]);
            }
       
            // if lowercase character
            // then just print
            else
                document.write(str[i]);
        }
    }
     
    let str ="BruceWayneIsBatman";
           
      amendSentence(str);
     
</script>
Producción

bruce wayne is batman

Complejidad temporal: O(n)
Espacio auxiliar: O(1)

Este artículo es una contribución de Sahil Chhabra . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *