In the case of the camel, the task is to write a Java program that converts the given string from the camel into a queue and outputs the modified string.
Examples:
Input: GeeksForGeeks Output: geeks_for_geeks Input: CamelCaseToSnakeCase Output: camel_case_to_snake_case
Method 1: Naive Approach
Below is the implementation of the above approach:
class GFG { // Function to convert camel case // string to snake case string public static String camelToSnake(String str) { // Empty String String result = ""; // Append first character(in lower case) // to result string char c = str.charAt(0); result = result + Character.toLowerCase(c); // Tarverse the string from // ist index to last index for (int i = 1; i < str.length(); i++) { char ch = str.charAt(i); // Check if the character is upper case // then append '_' and such character // (in lower case) to result string if (Character.isUpperCase(ch)) { result = result + '_'; result = result + Character.toLowerCase(ch); } // If the character is lower case then // add such character into result string else { result = result + ch; } } // return the result return result; } public static void main(String args[]) { // Given string str String str = "GeeksForGeeks"; // Print the modified string System.out.print(camelToSnake(str)); } }
Output:
geeks_for_geeks
Method 2: Using String.replaceAll method
Below is the implementation of the above approach:
class GFG { // Function to convert camel case // string to snake case string public static String camelToSnake(String str) { // Regular Expression String regex = "([a-z])([A-Z]+)"; // Replacement string String replacement = "$1_$2"; // Replace the given regex // with replacement string // and convert it to lower case. str = str .replaceAll( regex, replacement) .toLowerCase(); // return string return str; } // Driver Code public static void main(String args[]) { // Given string str String str = "GeeksForGeeks"; // Print the modified string System.out.print(camelToSnake(str)); } }
Output:
geeks_for_geeks