¡Buenas! Como entrega final del set de 5 ejemplos de manipulación de cadenas de caracteres les voy a presentar una forma de poner la primera letra de cada palabra en mayúscula en una cadena de caracteres (se considerará como palabra todo aquel substring que siga después de un espacio, punto o coma).
En el ejemplo partimos de la siguiente cadena de caracteres:
hola mundo, esto es lineadecodigo
Lo que esperamos obtener es una cadena de caracteres con la siguiente forma:
Hola Mundo, Esto Es Lineadecodigo
Para poder hacer esto necesitamos obtener mediante el método toCharArray de la clase String, el arreglo de caracteres correspondiente a la cadena que queremos modificar.
char[] caracteres = cadena.toCharArray();
Una vez hecho esto, antes que nada, dadas las condiciones en las que son consideradas las «palabras» debemos establecer que en el inicio de la cadena puede existir una palabra que no cumplirá con nuestras condiciones (es decir, espacio, punto o coma), por lo que tendremos que representar esta condición de la siguiente forma:
caracteres[0] = Character.toUpperCase(caracteres[0]);
Mediante el uso del método toUpperCase de la clase Character, podremos obtener el carácter en mayúscula correspondiente al indicado; de esta forma no tendremos que hacerlo nosotros mismos, lo que se conoce como ‘Reinventar la rueda’. :)
Luego, podremos analizar el resto de la cadena, y esto será recorriendo todo el arreglo que obtuvimos anteriormente de la siguiente forma:
// el -2 es para evitar una excepción al caernos del arreglo
for (int i = 0; i < cadena.length()- 2; i++)
// Es 'palabra'
if (caracteres[i] == ' ' || caracteres[i] == '.' || caracteres[i] == ',')
// Reemplazamos
caracteres[i + 1] = Character.toUpperCase(caracteres[i + 1]);
Finalmente, con el arreglo de caracteres modificado retornamos un nuevo String creado a partir de él:
return new String(caracteres);
Ya hemos conseguido poner la primera letra de cada palabra en mayúscula mediante Java.
Ejemplos de manejo de String
Puedes repasar los cinco ejemplos que hemos explicado sobre le manejo de cadenas String en Java.