feed twitter facebook LinkedIn facebook

Java » Poner en mayúsculas después de punto

Septiembre 25, 2009 por Víctor Cuervo . 4031 visitas 2 Comentarios Imprimir Imprimir

Hay ciertas situaciones en las que nos encontraremos ante la tesitura de manejar textos. Uno de los casos es el efecto de corrección y en concreto poner en mayúsculas el primer carácter que haya detrás de cada punto, así como el primero de todos.

Es decir, si partimos de la frase...

hola juan. me ha gustado mucho. hagámonos público. mañana hablamos. luis

... que acabemos con

Hola juan. Me ha gustado mucho. Hagámonos público. Mañana hablamos. Luis

Algo muy sencillo. :-)

Para poder llevar a cabo el ejemplo nos vamos a basar en el método .substring(), en el manejo de bucles sobre la cadena y en el método .toUpperCase(). Llevaremos dos variables, la primera nos indicará el principio de la cadena y el segundo el lugar del punto. De esta manera manejamos la frases de forma separada.

Así la primera iteración será

  1. indice = 0;
  2. indicepunto = frase.indexOf('.',indice);

Para saber cual es el índice del punto nos apoyamos en el método .indexOf(). Este método devuelve el índice del carácter pasado como parametro, a partir de la posición del segundo parámetro. Si no encuentra el carácter, devuelve un valor negativo.

Ahora que hemos delimitado la cadena, realizamos 2 pasos:

1. Quedarnos con el primer carácter y convertirlo a mayúsculas

  1. frase2 = frase2 + frase.substring(indice,indice+1).toUpperCase();

Es decir, desde el incio, cogemos un solo carácter con .substring() y lo convertimos a mayúsculas con .toUpperCase().

La variable "frase" será la frase inicial y "frase2" la frase que vamos componiendo con las mayúsculas después de punto.

2. Quedarnos desde el siguiente carácter del punto hasta el punto.

  1. frase2 = frase2 + frase.substring(indice+1,indicepunto+1);

En este caso, desde el segundo carácter hasta dónde está el punto. Solo extraemos la cadena con .substring().

Estos pasos hay que repetirlos por cada una de las cadenas. Es decir, hasta que no encontremos puntos. Así, el código completo será el siguiente:

  1. int indice = 0;
  2. indicepunto = frase.indexOf('.',indice);
  3.  
  4. while (indicepunto >=0) {
  5. // El primer carácter es en mayúsculas
  6. frase2 = frase2 + frase.substring(indice,indice+1).toUpperCase();
  7. // Pegamos el resto hasta el primer punto
  8. frase2 = frase2 + frase.substring(indice+1,indicepunto+1);
  9.  
  10. indice = indicepunto + 1;
  11. indicepunto = frase.indexOf('.',indice);
  12. }

Por último solo nos quedará adjuntar a "frase2" el resto de la frase (en el que no hay puntos). Este será el contenido desde el último punto, hasta el final de la cadena. El final de la cadena lo conseguimos con .length())

  1. frase2 = frase2 + frase.substring(indice,indice+1).toUpperCase();
  2. frase2 = frase2 + frase.substring(indice+1,frase.length());

Ahora solo tienes que volcar el contenido de "frase2". Pero eso te lo dejo a ti. ;-)

Descargar el Codigo
Descargar el código
Error en el Codigo
Error en el código
Foro sobre Java
Foro sobre Java
tags: , , , ,

Artículos relacionados:

2 comentarios »

Redifusión RSS de los comentarios de la entrada. TrackBack URI

  1. aulambra.com » Semana 21.septiembre.09
    Octubre 1, 2009 #

    [...] Poner en mayúsculas después de punto [...]

  2. renso
    Noviembre 15, 2009 #

    Bueno amixos del foro soy renso y mas que aprender codigo y gravarlos yo quisiera que me manden no se como explicarlo pero es mas o menos asi como tener el don de ser programador sin la necesidad de tener que grabarse los codigos .gracias por su atencion

Deje un comentario

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*