Contar caracteres en una cadena en Java

Rupam Yadav 12 octubre 2023
  1. Use String.length() para contar el total de caracteres en una cadena de Java
  2. Usar el flujo de Java 8 para contar los caracteres de una cadena de Java
  3. Usa el bucle y charAt() para contar un carácter específico en una cadena de Java
Contar caracteres en una cadena en Java

Hoy, presentaremos múltiples formas de contar los caracteres de una determinada cadena de Java. Contaremos el total de caracteres y los caracteres específicos.

Use String.length() para contar el total de caracteres en una cadena de Java

La práctica más común para obtener el recuento total de caracteres en una cadena de Java es usar el método length(). En el siguiente código, tenemos una cadena exampleString y usaremos exampleString.length() para obtener la longitud total de esta cadena.

La salida muestra que hay 28 caracteres en exampleString mientras que sólo hay 23 caracteres. Esto sucede porque String.length() cuenta los espacios en blanco también. Para resolver este problema, podemos usar la función replace() para reemplazar todos los espacios en blanco por un carácter vacío que no se cuenta. Finalmente, podemos obtener la longitud de la cadena sin espacios en blanco, que es 23.

public class CountCharsInString {
  public static void main(String[] args) {
    String exampleString = "This is just a sample string";

    int stringLength = exampleString.length();

    System.out.println("String length: " + stringLength);

    int stringLengthWithoutSpaces = exampleString.replace(" ", "").length();
    System.out.println("String length without counting whitespaces: " + stringLengthWithoutSpaces);
  }
}

Producción :

String length: 28
String length without counting whitespaces: 23

Usar el flujo de Java 8 para contar los caracteres de una cadena de Java

Otra forma de contar todos los caracteres de una cadena es usar el método String.chars().count() que devuelve el número total de caracteres de la cadena, pero incluyendo los espacios en blanco. Como chars() es una cadena, podemos usar el método filter() para ignorar los espacios en blanco. filter(ch -> ch != ' ') comprueba cada carácter y si encuentra un espacio en blanco lo filtrará.

public class CountCharsInString {
  public static void main(String[] args) {
    String exampleString = "This is just a sample string";

    long totalCharacters = exampleString.chars().filter(ch -> ch != ' ').count();

    System.out.println("There are total " + totalCharacters + " characters in exampleString");
  }
}

Producción :

There are total 23 characters in exampleString

Usa el bucle y charAt() para contar un carácter específico en una cadena de Java

Hemos estado contando el total de caracteres de una cadena, pero el siguiente ejemplo muestra el método para contar un carácter específico en la cadena. Nuestro objetivo es obtener el número de i en exampleString. Para lograrlo, usamos un bucle que se ejecuta hasta el final de la cadena.

Creamos dos variables adicionales: totalCharacters que contendrá el conteo, y temp que contendrá cada carácter individual usando exampleString.charAt(i). Para comprobar la ocurrencia de nuestro caractere, compararemos temp con nuestro caractere para comprobar si coinciden. Si encuentra una coincidencia, entonces el totalCharacters se incrementará en uno. Una vez que el bucle termine, podremos ver el total de ocurrencias de nuestro caractere en la cadena.

public class CountCharsInString {
  public static void main(String[] args) {
    String exampleString = "This is just a sample string";

    int totalCharacters = 0;
    char temp;
    for (int i = 0; i < exampleString.length(); i++) {
      temp = exampleString.charAt(i);
      if (temp == 'i')
        totalCharacters++;
    }

    System.out.println("i appears " + totalCharacters + " times in exampleString");
  }
}

Producción :

i appears 3 times in exampleString
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Artículo relacionado - Java String

Artículo relacionado - Java Char