Convierta la string de camello en caja de serpiente en Java

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *