Given a string str in camelCase format, the task is to convert the string into a readable form.
Examples:
Input: str = “ILoveGeeksForGeeks”
Output: I love geeks for geeks
Input: str = “WeLoveToCode”
Output: We love to code
Approach: The string is camelCased that means words are not separated by spaces instead every capital letter means a new word has begun. In order to improve its readability, we convert it into sentence case. Given below is the code for the conversion. We traverse through the string and then whenever we encounter a lowercase we print it as such. When we encounter an uppercase letter we output space followed by the uppercase character (after converting to lowercase) and then the rest of the characters.
Below is the implementation of the above approach:
// C++ implementation of the approach #include <bits/stdc++.h> using namespace std;
// Function to return the original string // after converting it back from camelCase void getOrgString(string s)
{ // Print the first character as it is
cout << s[0];
// Traverse the rest of the
// characters one by one
int i = 1;
while (i < s.length()) {
// If current character is uppercase
// print space followed by the
// current character in lowercase
if (s[i] >= 'A' && s[i] <= 'Z' )
cout << " " << ( char ) tolower (s[i]);
// Else print the current character
else
cout << s[i];
i++;
}
} // Driver code int main()
{ string s = "ILoveGeeksForGeeks" ;
getOrgString(s);
return 0;
} |
// Java implementation of the approach class GFG
{ // Function to return the original string
// after converting it back from camelCase
static void getOrgString(String s)
{
// Print the first character as it is
System.out.print(s.charAt( 0 ));
// Traverse the rest of the
// characters one by one
int i = 1 ;
while (i < s.length())
{
// If current character is uppercase
// print space followed by the
// current character in lowercase
if (s.charAt(i) >= 'A' && s.charAt(i) <= 'Z' )
System.out.print( " " + Character.toLowerCase(s.charAt(i)));
// Else print the current character
else
System.out.print(s.charAt(i));
i++;
}
}
// Driver code
public static void main (String[] args)
{
String s = "ILoveGeeksForGeeks" ;
getOrgString(s);
}
} // This code is contributed by AnkitRai01 |
# Python3 implementation of the approach # Function to return the original string # after converting it back from camelCase def getOrgString(s):
# Print the first character as it is
print (s[ 0 ],end = "")
# Traverse the rest of the
# characters one by one
i = 1
while (i < len (s)):
# If current character is uppercase
# prspace followed by the
# current character in lowercase
if ( ord (s[i]) > = ord ( 'A' ) and ord (s[i] )< = ord ( 'Z' )):
print ( " " ,s[i].lower(),end = "")
# Else print the current character
else :
print (s[i],end = "")
i + = 1
# Driver code s = "ILoveGeeksForGeeks"
getOrgString(s) # This code is contributed by mohit kumar 29 |
// C# implementation of the approach using System;
class GFG
{ // Function to return the original string
// after converting it back from camelCase
static void getOrgString(String s)
{
// Print the first character as it is
Console.Write(s[0]);
// Traverse the rest of the
// characters one by one
int i = 1;
while (i < s.Length)
{
// If current character is uppercase
// print space followed by the
// current character in lowercase
if (s[i] >= 'A' && s[i] <= 'Z' )
Console.Write( " " + char .ToLower(s[i]));
// Else print the current character
else
Console.Write(s[i]);
i++;
}
}
// Driver code
public static void Main (String[] args)
{
String s = "ILoveGeeksForGeeks" ;
getOrgString(s);
}
} /* This code is contributed by PrinciRaj1992 */ |
<script> // JavaScript implementation of the approach
// Function to return the original string
// after converting it back from camelCase
function getOrgString(s)
{
// Print the first character as it is
document.write(s[0]);
// Traverse the rest of the
// characters one by one
var i = 1;
while (i < s.length)
{
// If current character is uppercase
// print space followed by the
// current character in lowercase
if (
s[i].charCodeAt(0) >= "A" .charCodeAt(0) &&
s[i].charCodeAt(0) <= "Z" .charCodeAt(0)
)
document.write( " " + s[i].toLowerCase());
// Else print the current character
else document.write(s[i]);
i++;
}
}
// Driver code
var s = "ILoveGeeksForGeeks" ;
getOrgString(s);
// This code is contributed by rdtank.
</script>
|
I love geeks for geeks
Time Complexity: O(n)
Auxiliary Space: O(1)