Si necesitas un código de programación en específico, escríbeme al formulario de contacto.

BUSCA TU CÓDIGO


BUSCA MÁS CÓDIGOS DE PROGRAMACIÓN AQUÍ:

Código JAVA: Cortar cadena de caracteres en varias partes


Código JAVA anterior: 
Cambiar el estilo de la fuente de un JTextField y demás elementos
-------------------------------------------------------------------------------------------
Este artículo está orientado a la aplicación e implementación de un par de métodos JAVA, que nos permitirán dividir una cadena de texto en varias partes; teniendo como referencia ciertos caracteres y/o separadores que nos servirán para realizar los "cortes". El "método #1" te permitirá realizar el proceso requerido de una forma básica pero efectiva, dependiendo de tus requerimientos; sin embargo, si necesitas un poco más de funcionalidad, te recomendamos ver el "método #2":

Método #1 (Split):
public void dividirstring (String cadena){

    String [] cortes = cadena.split(",", 0);
   
    for (String corte : cortes) {
    
        System.out.println(corte);
        
    }

}

      


Método #2 (StringTokenizer):
public void dividirstring (String cadena){

    StringTokenizer token = new StringTokenizer (cadena, ",:.", true);
  
    while(token.hasMoreTokens()){
               
           System.out.println(token.nextToken());
            
    } 
  
}
            


Método del botón:
private void btndividirActionPerformed(java.awt.event.ActionEvent evt) {                                           

     dividirstring(cadena);
                
}


Instrucciones y Recomendaciones 

Método #1 (Split)

1- Copia y pega el código resaltado en azul (método #1), dentro de la Clase desde la cual deseas implementar dicho código y proceder a dividir una cadena de texto.





2- Lo primero que llevamos a cabo será establecer las propiedades del método, en este caso son: "public" (establece al método como público, permitiéndonos acceder y/o llamarlo desde otra Clase) y "void" (determina que el método no retornará algún valor). Ahora, le asignamos un nombre a dicho método, para esta ocasión es "dividirstring", seguido le colocamos los paréntesis de apertura "(" y de cierre ")", y dentro de estos procedemos a crear el parámetro "cadena" que aceptará dicho método, con su respectivo tipo de dato "String"; en otras palabras, este parámetro representa la cadena de texto a dividir.
Luego, vamos a fijar las llaves de apertura "{" y la de cierre "}", las cuales contendrán el código del método en cuestión:
public void dividirstring (String cadena){
   
}
3- Dentro del método creado anteriormente (punto 2), procederemos a crear un array de tipo "String", al cual llamaremos "cortes"; a continuación, usaremos el parámetro "cadena" aplicándole el método ".split()" (es el que nos permitirá dividir nuestro texto), al cual se le pasarán 2 parámetros; el primero de ellos, establece el "carácter delimitador" (símbolo, letra, número, etc...) y que utilizaremos como referencia para cortar el texto; el segundo, es un entero (int) que fijará el número de veces que se aplicará el corte cuando se encuentre el delimitador, hay que tener en cuenta que a este número se le aplicará por así decirlo la fórmula "n-1"; es decir, que si colocamos como valor límite el número 2 (dos), al aplicarle la fórmula "2-1", sólo se procederá a realizar el corte una sola vez, pero si deseamos que nuestro texto se corte cada vez que se encuentre el "carácter delimitador" fijado, colocaremos el valor "0" (cero).
Teniendo en cuenta cada parte del código, esta línea quedaría de la siguiente forma:
String [] cortes = cadena.split(",", 0);
4- Ahora, usaremos un "for-loop", por lo cual empleamos la palabra clave "for"; seguidamente, empleamos unos paréntesis "()" dentro de los cuales vamos a crear una variable de tipo "String" llamada "corte"; luego, vendrán dos puntos ":" y posteriormente llamamos al array "cortes". Lo anterior nos permitirá recorrer todo el vector y almacenar cada valor en la variable creada.
Procedemos a establecer un par de llaves "{}" que contendrán el código a emplear dentro del "for"; y que consiste en imprimir por pantalla, cada valor que se haya almacenado en la variable "corte":
for (String corte : cortes) {
    
        System.out.println(corte);
        
}
5- Copia y pega el código resaltado en verde, dentro del método del botón desde el cual deseas llamar y/o ejecutar el proceso de división de una cadena de texto.
Vemos que se procede a emplear el nombre del método respectivo "dividirstring" y a pasarle un parámetro, en este caso llamado "cadena", que no es más que una variable tipo String que contiene el texto a dividir:
dividirstring(cadena);
6- Si ejecutamos nuestro proyecto, y suponiendo que nuestra cadena de texto sea "corte1,corte2,corte3"; obtendremos un resultado parecido al siguiente:

Resultado al aplicar el método split a una cadena de caracteres en JAVA
  
Método #2 (StringTokenizer)

1- Copia y pega el código resaltado en amarillo (método #2), dentro de la Clase desde la cual deseas implementar dicho código y proceder a dividir una cadena de texto. 
Para que no tengas inconvenientes con la implementación del método, deberás importar las librerías necesarias, en este caso:
import java.util.StringTokenizer;
Ten presente que estas líneas de código deben ir ubicadas, debajo de la línea que define el nombre del paquete (package Formularios;), y por encima de la línea que define el nombre de nuestra Clase (public class Formulario...).

2- "Ver explicación del paso 2 del método #1":
public void dividirstring (String cadena){}
3- Dentro de las llaves del método creado en el punto anterior (paso 2), vamos a instanciar un objeto de la Clase "StringTokenizer", a dicho objeto le llamaremos "token"; de tal forma, que procederemos a pasarle 3 parámetros: el primero, es básicamente la variable tipo String llamada "cadena" (contiene la cadena de texto) que se la pasa al método como parámetro; el segundo, es un String que contiene los delimitadores (caracteres) que nos sirven de referencia para realizar los cortes del texto; es decir, que si se encuentra cualquiera de los caracteres allí establecidos, se producirá una división en el texto; el tercer parámetro, consiste en un valor del tipo "boolean", en el que determinamos si al realizar el corte se conservan y/o muestran (true) o no (false) los delimitadores, como un fragmento de texto (corte).
StringTokenizer token = new StringTokenizer (cadena, ",:.", true);
4- Emplearemos un ciclo "while", y dentro de los paréntesis "()" de este, procederemos a usar el objeto "token", al cual le aplicaremos el método ".hasMoreTokens()" que permitirá examinar si hay o no caracteres (cortes) para proceder a imprimirlos por pantalla; por lo cual deberemos aplicarle el método ".nextToken()" al objeto del tipo "StringTokenizer" y así recorrerlo por completo:
while(token.hasMoreTokens()){
               
           System.out.println(token.nextToken());
            
}
5- Copia y pega el código resaltado en verde, dentro del método del botón desde el cual deseas llamar y/o ejecutar el proceso de división de una cadena de texto.
Vemos que se procede a emplear el nombre del método respectivo "dividirstring" y a pasarle un parámetro, en este caso llamado "cadena", que no es más que una variable tipo String que contiene el texto a dividir:
dividirstring(cadena);
6- Si ejecutamos nuestro proyecto, y suponiendo que nuestra cadena de texto sea "corte1,corte2:corte3"; obtendremos un resultado parecido al siguiente:

Resultado al aplicar la Clase StringTokenizer a una cadena de caracteres en JAVA

Nota: Podemos observar que también se imprimen los delimitadores, si no deseas que esto suceda recuerda lo que planteamos en el punto 3; por lo cual deberás cambiar el valor del tercer parámetro, pasándolo de "true" a "false".

No olvides que puedes seguir el Curso de Java, que se está realizando mediante videotutoriales y con eBooks, en el Blog UH T.I.S

¿Conoces una forma más óptima de realizar el anterior procedimiento?, no dudes en compartirla con todos nuestros amigos de la web.

Si te fue de gran ayuda esta información, no olvides compartirla con tus amigos y en las redes sociales.
Si tienes dudas o sugerencias al respecto; puedes dejarnos tus comentarios.
Bendiciones...





Comparte este código


No hay comentarios.:

Publicar un comentario