Cómo rellenar una string en Java

Dada una string str de cierta longitud específica, la tarea es rellenar esta string con el carácter ch dado , para hacer la string de longitud L.

Nota: El relleno debe realizarse en los tres formatos: Relleno izquierdo, Relleno derecho y Relleno central.

Ejemplo:

Entrada: str = “Geeksforgeeks”, ch =’-‘, L = 20
Salida:
Relleno izquierdo: ————GeeksForGeeks Relleno
central: ——GeeksForGeeks—— Relleno
derecho: GeeksForGeeks————

Entrada: str = “GfG”, ch =’#’, L = 5
Salida:
Relleno izquierdo: ##GfG Relleno
central: #GfG# Relleno
derecho: GfG##

Hay muchos métodos para rellenar un String :

  1. Uso del método String format() : este método se utiliza para devolver una string formateada utilizando la configuración regional dada, la string de formato especificada y los argumentos.

    Nota: Este método se puede usar para hacer solo el relleno izquierdo y derecho.

    Acercarse:

    • Obtenga la string en la que se realiza el relleno.
    • Use el método String.format() para rellenar la string con espacios a izquierda y derecha, y luego reemplace estos espacios con el carácter dado usando el método String.replace() .
    • Para el relleno izquierdo, la sintaxis para usar el método String.format() es:
      String.format("%[L]s", str).replace(' ', ch);
      
    • Para el relleno derecho, la sintaxis para usar el método String.format() es:
      String.format("%-[L]s", str).replace(' ', ch);
      
    • Si la longitud ‘L’ es menor que la longitud inicial de la string, se devuelve la misma string sin cambios.

    A continuación se muestra la implementación del enfoque anterior:

    Ejemplo:

    // Java implementation to pad a String
      
    import java.lang.*;
    import java.io.*;
      
    public class GFG {
      
        // Function to perform left padding
        public static String
        leftPadding(String input, char ch, int L)
        {
      
            String result
                = String
      
                      // First left pad the string
                      // with space up to length L
                      .format("%" + L + "s", input)
      
                      // Then replace all the spaces
                      // with the given character ch
                      .replace(' ', ch);
      
            // Return the resultant string
            return result;
        }
      
        // Function to perform right padding
        public static String
        rightPadding(String input, char ch, int L)
        {
      
            String result
                = String
      
                      // First right pad the string
                      // with space up to length L
                      .format("%" + (-L) + "s", input)
      
                      // Then replace all the spaces
                      // with the given character ch
                      .replace(' ', ch);
      
            // Return the resultant string
            return result;
        }
      
        // Driver code
        public static void main(String[] args)
        {
      
            String str = "GeeksForGeeks";
            char ch = '-';
            int L = 20;
      
            System.out.println(
                leftPadding(str, ch, L));
            System.out.println(
                rightPadding(str, ch, L));
        }
    }
    Producción:

    -------GeeksForGeeks
    GeeksForGeeks-------
    
  2. Uso de Apache Common Lang : el paquete Apache Commons Lang proporciona la clase StringUtils , que contiene el método leftPad(), center() y rightPad() para rellenar fácilmente una string a la izquierda, al centro y a la derecha respectivamente.

    Nota: Este módulo debe instalarse antes de ejecutar el código. Por lo tanto, este código no se ejecutará en compiladores en línea.

    Acercarse:

    • Obtenga la string en la que se realiza el relleno.
    • Para el relleno izquierdo, la sintaxis para usar el método StringUtils.leftPad() es:
      StringUtils.leftPad(str, L, ch);
      
    • Para el relleno central, la sintaxis para usar el método StringUtils.center() es:
      StringUtils.center(str, L, ch);
      
    • Para el relleno derecho, la sintaxis para usar el método StringUtils.rightPad() es:
      StringUtils.rightPad(str, L, ch);
      
    • Si la longitud ‘L’ es menor que la longitud inicial de la string, se devuelve la misma string sin cambios.

    A continuación se muestra la implementación del enfoque anterior:

    Ejemplo:

    // Java implementation to pad a String
      
    import java.lang.*;
    import java.io.*;
      
    public class GFG {
      
        // Function to perform left padding
        public static String
        leftPadding(String input, char ch, int L)
        {
      
            // Left pad the string
            String result
                = StringUtils.leftPad(str, L, ch);
      
            // Return the resultant string
            return result;
        }
      
        // Function to perform center padding
        public static String
        centerPadding(String input, char ch, int L)
        {
      
            // Center pad the string
            String result
                = StringUtils.center(str, L, ch);
      
            // Return the resultant string
            return result;
        }
      
        // Function to perform right padding
        public static String
        rightPadding(String input, char ch, int L)
        {
      
            // Right pad the string
            String result
                = StringUtils.rightPad(str, L, ch);
      
            // Return the resultant string
            return result;
        }
      
        // Driver code
        public static void main(String[] args)
        {
      
            String str = "GeeksForGeeks";
            char ch = '-';
            int L = 20;
      
            System.out.println(
                leftPadding(str, ch, L));
            System.out.println(
                centerPadding(str, ch, L));
            System.out.println(
                rightPadding(str, ch, L));
        }
    }
    Producción:

    -------GeeksForGeeks
    ---GeeksForGeeks----
    GeeksForGeeks-------
    

Publicación traducida automáticamente

Artículo escrito por SHUBHAMSINGH10 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 *