Dada una string en caso de camello , la tarea es escribir un programa Java para convertir la string dada de caso de camello a caso de serpiente e imprimir la string modificada.
Ejemplos:
Entrada: GeeksForGeeks
Salida: geeks_for_geeks
Entrada: CamelCaseToSnakeCase
Salida: camel_case_to_snake_case
Método 1: enfoque ingenuo
- Primero inicializamos una variable ‘resultado’ con una string vacía y le agregamos el primer carácter (en minúsculas).
- Ahora iterar sobre cada carácter de la string desde el primer índice hasta el último índice, si el carácter es un alfabeto en mayúsculas, agregamos ‘_’ y el carácter (en minúsculas) al resultado, de lo contrario, solo agregamos el carácter.
A continuación se muestra la implementación del enfoque anterior:
Java
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); // Traverse 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)); } }
Producción:
geeks_for_geeks
Método 2: Usar el método String.replaceAll
- La idea es usar el método String.replaceAll para convertir una string dada de camello a serpiente .
- El método String.replaceAll acepta dos parámetros, una expresión regular y una string de reemplazo. Reemplaza la expresión regular con la string de reemplazo e imprime la string modificada.
A continuación se muestra la implementación del enfoque anterior:
Java
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)); } }
Producción:
geeks_for_geeks
Publicación traducida automáticamente
Artículo escrito por prashant_srivastava y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA