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 neveropen for neveropen
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++
// 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
// 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 |
Python
# 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#
// 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 */ |
Javascript
<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 neveropen for neveropen
Time Complexity: O(n)
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!