Program to convert first character uppercase in a sentence
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++
#include<bits/stdc++.h>
using namespace std;
string convert(string str)
{
for ( int i = 0;
i < str.length(); i++)
{
if (i == 0 && str[i] != ' ' ||
str[i] != ' ' && str[i - 1] == ' ' )
{
if (str[i] >= 'a' && str[i] <= 'z' )
{
str[i] = ( char )(str[i] - 'a' + 'A' );
}
}
else if (str[i] >= 'A' &&
str[i] <= 'Z' )
str[i] = ( char )(str[i] + 'a' - 'A' );
}
return str;
}
int main()
{
string str = "gEEks fOr GeeKs" ;
cout << (convert(str));
return 0;
}
|
Java
class GFG {
static String convert(String str)
{
char ch[] = str.toCharArray();
for ( int i = 0 ; i < str.length(); i++) {
if (i == 0 && ch[i] != ' ' ||
ch[i] != ' ' && ch[i - 1 ] == ' ' ) {
if (ch[i] >= 'a' && ch[i] <= 'z' ) {
ch[i] = ( char )(ch[i] - 'a' + 'A' );
}
}
else if (ch[i] >= 'A' && ch[i] <= 'Z' )
ch[i] = ( char )(ch[i] + 'a' - 'A' );
}
String st = new String(ch);
return st;
}
public static void main(String[] args)
{
String str = "gEEks fOr GeeKs" ;
System.out.println(convert(str));
}
}
|
Python3
def convert(s):
ch = list (s)
for i in range ( len (s)):
if (i = = 0 and ch[i] ! = ' ' or
ch[i] ! = ' ' and
ch[i - 1 ] = = ' ' ):
if (ch[i] > = 'a' and ch[i] < = 'z' ):
ch[i] = chr ( ord (ch[i]) - ord ( 'a' ) +
ord ( 'A' ))
elif (ch[i] > = 'A' and ch[i] < = 'Z' ):
ch[i] = chr ( ord (ch[i]) + ord ( 'a' ) -
ord ( 'A' ))
st = "".join(ch)
return st;
if __name__ = = "__main__" :
s = "gEEks fOr GeeKs"
print (convert(s));
|
C#
using System;
class GFG {
static String convert(String str)
{
char []ch = str.ToCharArray();
for ( int i = 0; i < str.Length; i++)
{
if (i == 0 && ch[i] != ' ' ||
ch[i] != ' ' && ch[i - 1] == ' ' )
{
if (ch[i] >= 'a' && ch[i] <= 'z' )
{
ch[i] = ( char )(ch[i] - 'a' + 'A' );
}
}
else if (ch[i] >= 'A' && ch[i] <= 'Z' )
ch[i] = ( char )(ch[i] + 'a' - 'A' );
}
String st = new String(ch);
return st;
}
public static void Main()
{
String str = "gEEks fOr GeeKs" ;
Console.Write(convert(str));
}
}
|
Javascript
<script>
function convert(str)
{
let ch = str.split( "" );
for (let i = 0; i < str.length; i++) {
if (i == 0 && ch[i] != ' ' ||
ch[i] != ' ' && ch[i - 1] == ' ' ) {
if (ch[i] >= 'a' && ch[i] <= 'z' ) {
ch[i] = String.fromCharCode(ch[i].charCodeAt(0) - 'a' .charCodeAt(0) + 'A' .charCodeAt(0));
}
}
else if (ch[i] >= 'A' && ch[i] <= 'Z' )
ch[i] = String.fromCharCode(ch[i].charCodeAt(0) + 'a' .charCodeAt(0) - 'A' .charCodeAt(0));
}
let st = (ch).join( "" );
return st;
}
let str = "gEEks fOr GeeKs" ;
document.write(convert(str));
</script>
|
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;
string capitailizeWord(string str)
{
stringstream s(str);
string word;
string result = "" ;
while (s >> word) {
word[0] = toupper (word[0]);
result += word + " " ;
}
return result.substr(0, result.length() - 1);
}
int main()
{
string s1 = "gEEks fOr GeeKs" ;
transform(s1.begin(), s1.end(), s1.begin(), :: tolower );
cout << capitailizeWord(s1);
}
|
Java
public class GFG {
static String capitailizeWord(String str)
{
StringBuffer s = new StringBuffer();
char ch = ' ' ;
for ( int i = 0 ; i < str.length(); i++) {
if (ch == ' ' && str.charAt(i) != ' ' )
s.append(
Character.toUpperCase(str.charAt(i)));
else
s.append(str.charAt(i));
ch = str.charAt(i);
}
return s.toString().trim();
}
public static void main(String args[])
{
String s1 = "gEEks fOr GeeKs" ;
s1 = s1.toLowerCase();
System.out.println(capitailizeWord(s1));
}
}
|
Python3
import string
import io
def capitalize_word(s):
s = io.StringIO(s)
result = ""
for word in s.read().split():
word = word.lower()
word = word.capitalize()
result + = word + " "
return result.strip()
if __name__ = = "__main__" :
s1 = "gEEks fOr GeeKs"
print (capitalize_word(s1))
|
C#
using System;
public class GFG {
static string CapitalizeWord( string str)
{
char ch = ' ' ;
string result = "" ;
for ( int i = 0; i < str.Length; i++) {
if (ch == ' ' && str[i] != ' ' )
result += char .ToUpper(str[i]);
else
result += str[i];
ch = str[i];
}
return result.Trim();
}
public static void Main( string [] args)
{
string s1 = "gEEks fOr GeeKs" ;
s1 = s1.ToLower();
Console.WriteLine(CapitalizeWord(
s1));
}
}
|
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));
|
Time complexity: O(n)
Auxiliary Space: O(n)
Last Updated :
17 Aug, 2023
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...