Manejo de String en Java

Para familiarizarnos con el manejo de strings en Java, así como con los métodos de los que disponemos para tratar con ellos, vamos a crear una función censura(String texto, String tabu, int tipo) que comprueba si un texto contiene una subcadena tabú y de ser así tiene tres opciones:

  • Si tipo es 0 devuelve el texto sin la cadena tabú.
  • Si tipo es 1 devuelve el texto con los caracteres correspondientes a la cadena tabú sustituidos por asteriscos, tantos asteriscos como caracteres tenga tabú.
  • Si tipo es cualquier otro valor no hace nada.
En primer lugar definimos la cabecera de la función, que recibe tres variables por parámetro: texto, tabu y tipo. Texto va a contener el texto en el que vamos a comprobar si está la cadena tabu o no, por lo tanto ambas variables serán de tipo String. Tipo contiene el valor que nos va a indicar qué hacer con la cadena, por lo tanto será de tipo int(entero).

String censura(String texto, String tabu, int tipo){

A continuación comprobamos mediante el método contains() si la cadena tabú se encuentra en texto. Este método devuelve True si se encuentre la cadena y False en caso contrario.

if (texto.contains(tabu)) {

Si la cadena tabú está contenido en texto pasamos a averiguar en qué parte del mismo se encuentra, para ello definimos las variables inicio y fin.Inicio contendrá el índice en el que empieza la cadena dentro del texto y fin el índice de la última letra de la cadena tabú.

int inicio = texto.indexOf(tabu); int fin = inicio + tabu.length();

Una vez tenemos delimitada la cadena dentro del texto creamos un StringBuffer, que nos va a servir en caso de que haya que modificar el texto.

StringBuffer aux = new StringBuffer();

A continuación comprobamos el valor de tipo para saber que debemos hacer con el texto, para ello usamos un switch.

switch(tipo) {

En caso de que tipo valga 0 se debe devolver el texto sin la cadena tabú, para ello vamos a concatenar la parte del texto anterior a inicio con la parte posterior a fin, usando el método substring que devuelve la parte de una cadena comprendida entre dos índices.

case 0 : return texto.substring(0,inicio).concat(texto.substring(fin));

Cabe destacar que usamos un único parámetro en el segundo substring puesto que si no se indica se considera que la subcadena irá desde el índice hasta el final de la misma.

En caso de que tipo valga 1 se devuelve el texto con la cadena tabú sustituida por asteriscos, para ello rellenaremos el StringBuffer creado anteriormente con tantos asteriscos como letras contenga la palabra tabú y luego lo reemplazaremos en el texto gracias a la función replace().

case 1 : for (int i = 0; i < tabu.length(); i++)
aux.append('*');
return texto.replace(tabu, aux);

Si tipo toma cualquier otro valor no se hace nada, puesto que se devolverá la cadena de texto tal cual.

default : ;

Finalmente cerramos el switch y el if y devolvemos el texto.

return texto;

El código final queda por lo tanto de la siguiente forma:

String censura(String texto, String tabu, int tipo){

if (texto.contains(tabu))
{
int inicio = texto.indexOf(tabu);
int fin = inicio + tabu.length();
StringBuffer aux = new StringBuffer();
switch(tipo)
{
case 0 : return texto.substring(0,inicio).concat(texto.substring(fin));
case 1 : for (int i = 0; i < tabu.length(); i++) aux.append('*');
return texto.replace(tabu, aux);
default : ;

return texto;



Nombre:

Email:

Comentario:

© 2014 - Todos los derechos reservados Ciberaula España - USA - México - Colombia - Chile - Argentina
Aviso legal

Lo más buscado y visitado en Ciberaula

Masters: Programación Web | Diseño Gráfico | Java | Flash MX | PHP | 3D Studio Max
Cursos: GNU/Linux | OpenOffice Impress | OpenOffice Writer | PHP 5 | HTML | J2EE | J2SE | Dreamweaver | Flash MX | Photoshop Diseño Web | Photoshop Diseño Gráfico | Adobe Premiere | Freehand MX | 3d Studio Max | 3d Studio Iluminación | 3d Studio Modelado | Word | Excel | Access
Secciones: Programación Orientada a Objetos | Formación a Distancia | Formación a Empresas | Cursos SENCE | Servicios a Empresas | Cursos a Distancia | Cursos On-Line | E-learning | Ofimática
Recomendados: departamento jurídico | ofertas vuelos | vuelos baratos | Partituras | Deontología | Deontologia



Copyright 2014 Guillermo González-Vallés Saco - Reservados Todos los Derechos