Open In App

Program to convert first character uppercase in a sentence

Last Updated : 17 Aug, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Write a program to convert the first character uppercase in a sentence and if apart from the first character if any other character is in Uppercase then convert it into Lowercase.

Examples: 

Input : gEEKs
Output : Geeks

Input : GFG
Output : Gfg

Input : GeeksforGeeks
Output : Geeksforgeeks

Method 1: 

  • Iterate through each character in the input string.
  • If the current character is the first character of a word (or the first character of the sentence):
    • If the character is a lowercase letter, convert it to uppercase using the ASCII value manipulation: str[i] = (char)(str[i] - 'a' + 'A').
  • If the current character is not the first character of a word:
    • If the character is an uppercase letter, convert it to lowercase using the ASCII value manipulation: str[i] = (char)(str[i] - 'a' + 'A').

Below is the implementation of above approach:

C++




// C++ program to convert
// first character uppercase
// in a sentence
#include<bits/stdc++.h>
using namespace std;
string convert(string str)
{
  for (int i = 0;
           i < str.length(); i++)
  {
    // If first character of a
    // word is found
    if (i == 0 && str[i] != ' ' ||
        str[i] != ' ' && str[i - 1] == ' ')
    {
      // If it is in lower-case
      if (str[i] >= 'a' && str[i] <= 'z')
      {
        // Convert into Upper-case
        str[i] = (char)(str[i] - 'a' + 'A');
      }
    }
 
    // If apart from first character
    // Any one is in Upper-case
    else if (str[i] >= 'A' &&
             str[i] <= 'Z')
 
      // Convert into Lower-Case
      str[i] = (char)(str[i] + 'a' - 'A');
  }
 
  return str;
}
 
// Driver code
int main()
{
  string str = "gEEks fOr GeeKs";
  cout << (convert(str));
  return 0;
}
 
// This code is contributed by Chitranayal


Java




// Java program to convert first character
// uppercase in a sentence
class GFG {
 
    static String convert(String str)
    {
 
        // Create a char array of given String
        char ch[] = str.toCharArray();
        for (int i = 0; i < str.length(); i++) {
 
            // If first character of a word is found
            if (i == 0 && ch[i] != ' ' ||
                ch[i] != ' ' && ch[i - 1] == ' ') {
 
                // If it is in lower-case
                if (ch[i] >= 'a' && ch[i] <= 'z') {
 
                    // Convert into Upper-case
                    ch[i] = (char)(ch[i] - 'a' + 'A');
                }
            }
 
            // If apart from first character
            // Any one is in Upper-case
            else if (ch[i] >= 'A' && ch[i] <= 'Z')
 
                // Convert into Lower-Case
                ch[i] = (char)(ch[i] + 'a' - 'A');           
        }
 
        // Convert the char array to equivalent String
        String st = new String(ch);
        return st;
    }
 
    public static void main(String[] args)
    {
        String str = "gEEks fOr GeeKs";
        System.out.println(convert(str));
    }
}


Python3




# Python3 program to convert first character
# uppercase in a sentence
def convert(s):
     
    # Create a char array of
    # given string
    ch = list(s)
     
    for i in range(len(s)):
  
        # If first character of a word is found
        if (i == 0 and ch[i] != ' ' or
                       ch[i] != ' ' and
                       ch[i - 1] == ' '):
  
            # If it is in lower-case
            if (ch[i] >= 'a' and ch[i] <= 'z'):
  
                # Convert into Upper-case
                ch[i] = chr(ord(ch[i]) - ord('a') +
                            ord('A'))
  
        # If apart from first character
        # Any one is in Upper-case
        elif (ch[i] >= 'A' and ch[i] <= 'Z'):
  
            # Convert into Lower-Case
            ch[i] = chr(ord(ch[i]) + ord('a') -
                        ord('A'))
     
    # Convert the char array
    # to equivalent string
    st = "".join(ch)
         
    return st;
 
# Driver code   
if __name__=="__main__":
     
    s = "gEEks fOr GeeKs"
     
    print(convert(s));
  
# This code is contributed by rutvik_56


C#




// C# program to convert first character
// uppercase in a sentence
using System;
 
class GFG {
     
    static String convert(String str)
    {
 
        // Create a char array of
        // given String
        char []ch = str.ToCharArray();
         
        for (int i = 0; i < str.Length; i++)
        {
 
            // If first character of a
            // word is found
            if (i == 0 && ch[i] != ' ' ||
                ch[i] != ' ' && ch[i - 1] == ' ')
            {
 
                // If it is in lower-case
                if (ch[i] >= 'a' && ch[i] <= 'z')
                {
 
                    // Convert into Upper-case
                    ch[i] = (char)(ch[i] - 'a' + 'A');
                }
            }
 
            // If apart from first character
            // Any one is in Upper-case
            else if (ch[i] >= 'A' && ch[i] <= 'Z')
 
                // Convert into Lower-Case
                ch[i] = (char)(ch[i] + 'a' - 'A');        
        }
 
        // Convert the char array to
        // equivalent String
        String st = new String(ch);
         
        return st;
    }
 
    // Driver code
    public static void Main()
    {
        String str = "gEEks fOr GeeKs";
        Console.Write(convert(str));
    }
}
 
// This code is contributed by Nitin Mittal.


Javascript




<script>
// Javascript program to convert first character
// uppercase in a sentence
     
    function convert(str)
    {
        // Create a char array of given String
        let ch = str.split("");
        for (let i = 0; i < str.length; i++) {
  
            // If first character of a word is found
            if (i == 0 && ch[i] != ' ' ||
                ch[i] != ' ' && ch[i - 1] == ' ') {
  
                // If it is in lower-case
                if (ch[i] >= 'a' && ch[i] <= 'z') {
  
                    // Convert into Upper-case
                    ch[i] = String.fromCharCode(ch[i].charCodeAt(0) - 'a'.charCodeAt(0) + 'A'.charCodeAt(0));
                }
            }
  
            // If apart from first character
            // Any one is in Upper-case
            else if (ch[i] >= 'A' && ch[i] <= 'Z')
  
                // Convert into Lower-Case
                ch[i] = String.fromCharCode(ch[i].charCodeAt(0) + 'a'.charCodeAt(0) - 'A'.charCodeAt(0));          
        }
  
        // Convert the char array to equivalent String
        let st = (ch).join("");
        return st;
    }
     
     
    let str = "gEEks fOr GeeKs";
    document.write(convert(str));
     
    // This code is contributed by avanitrachhadiya2155
</script>


Output

Geeks For Geeks

Time Complexity: O(n), where n is the length of the given sentence.
Auxiliary Space: O(1)

Program to convert first character uppercase in a sentence using Inbuilt methods: 

Use inbuilt methods of different programming languages to convert a character to lowercase or uppercase accordingly.

Below is the implementation:

C++




#include <bits/stdc++.h>
using namespace std;
 
// Method to convert the string
string capitailizeWord(string str)
{
    stringstream s(str);
    string word;
    string result = "";
 
    // Declare a character of space
    // To identify that the next character is the starting
    // of a new word
    while (s >> word) {
        word[0] = toupper(word[0]);
        result += word + " ";
    }
 
    // Return the string with trimming
    return result.substr(0, result.length() - 1);
}
 
// Driver Code
int main()
{
 
    // Declare the string
    string s1 = "gEEks fOr GeeKs";
 
    // Convert that string into lowercase
    transform(s1.begin(), s1.end(), s1.begin(), ::tolower);
 
    // Call the method to capitalize each word
    cout << capitailizeWord(s1);
}


Java




// Java Program to capitalize each word in a string
public class GFG {
 
    // Method to convert the string
    static String capitailizeWord(String str)
    {
        StringBuffer s = new StringBuffer();
 
        // Declare a character of space
        // To identify that the next character is the
        // starting of a new word
        char ch = ' ';
        for (int i = 0; i < str.length(); i++) {
 
            // If previous character is space and current
            // character is not space then it shows that
            // current letter is the starting of the word
            if (ch == ' ' && str.charAt(i) != ' ')
                s.append(
                    Character.toUpperCase(str.charAt(i)));
            else
                s.append(str.charAt(i));
            ch = str.charAt(i);
        }
 
        // Return the string with trimming
        return s.toString().trim();
    }
 
    // Driver Code
    public static void main(String args[])
    {
 
        // Declare the string
        String s1 = "gEEks fOr GeeKs";
 
        // Convert that string into lowercase
        s1 = s1.toLowerCase();
 
        // Call the method to capitalize each word
        System.out.println(capitailizeWord(s1));
    }
}


Python3




import string
import io
 
# Method to convert the string
 
 
def capitalize_word(s):
    # Create a stream from the string
    s = io.StringIO(s)
    result = ""
 
    # Declare a character of space
    # To identify that the next character is the starting
    # of a new word
    for word in s.read().split():
        word = word.lower()
        word = word.capitalize()
        result += word + " "
 
    # Return the string with trimming
    return result.strip()
 
 
# Driver Code
if __name__ == "__main__":
    # Declare the string
    s1 = "gEEks fOr GeeKs"
 
    # Call the method to capitalize each word
    print(capitalize_word(s1))


C#




using System;
 
public class GFG {
    // Method to convert the string
    static string CapitalizeWord(string str)
    {
        // Declare a character of space
        // To identify that the next character is the
        // starting of a new word
        char ch = ' ';
        string result = "";
 
        for (int i = 0; i < str.Length; i++) {
            // If previous character is space and current
            // character is not space then it shows that
            // current letter is the starting of the word
            if (ch == ' ' && str[i] != ' ')
                result += char.ToUpper(str[i]);
            else
                result += str[i];
            ch = str[i];
        }
 
        // Return the string with trimming
        return result.Trim();
    }
 
    // Driver Code
    public static void Main(string[] args)
    {
        // Declare the string
        string s1 = "gEEks fOr GeeKs";
 
        // Convert that string into lowercase
        s1 = s1.ToLower();
 
        // Call the method to capitalize each word
        Console.WriteLine(CapitalizeWord(
            s1)); // expected output: "Geeks For Geeks"
    }
}


Javascript




function capitalizeWord(str) {
  let result = '';
  let ch = ' ';
 
  for (let i = 0; i < str.length; i++) {
    if (ch === ' ' && str.charAt(i) !== ' ') {
      result += str.charAt(i).toUpperCase();
    } else {
      result += str.charAt(i);
    }
    ch = str.charAt(i);
  }
 
  return result.trim();
}
 
let s1 = 'gEEks fOr GeeKs';
s1 = s1.toLowerCase();
console.log(capitalizeWord(s1)); // Output: "Geeks For Geeks"


Output

Geeks For Geeks

Time complexity: O(n)
Auxiliary Space: O(n)



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads