Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Java (http://www.forosdelweb.com/f45/)
-   -   Codigo para descomponer un string en 5 partes (http://www.forosdelweb.com/f45/codigo-para-descomponer-string-5-partes-587033/)

fbirrer 15/05/2008 23:34

Codigo para descomponer un string en 5 partes
 
Hola a todos
Necesito Ayuda

Tengo el siguiente codigo

Cita:

String sd1 = "";
String sd2 = "";
String sd3 = "";
String sd4 = "";
String sd5 = "";

//descomponer detalle

int largo = sDetalle.length();

if(largo <=200)
{
sd1 = sDetalle;
}else{
if (largo<=400)
{
sd1 = sDetalle.substring(0,200);
sd2 = sDetalle.substring(200,sDetalle.length());
}else{
if (largo<=600)
{
sd1 = sDetalle.substring(0,200);
sd2 = sDetalle.substring(200,400);
sd3 = sDetalle.substring(400,sDetalle.length());
}else{
if (largo<=600)
{
sd1 = sDetalle.substring(0,200);
sd2 = sDetalle.substring(200,400);
sd3 = sDetalle.substring(400,600);
sd4 = sDetalle.substring(600,sDetalle.length());
}else{
if (largo<=1000)
{
sd1 = sDetalle.substring(0,200);
sd2 = sDetalle.substring(200,400);
sd3 = sDetalle.substring(400,600);
sd4 = sDetalle.substring(600,800);
sd5 = sDetalle.substring(800,sDetalle.length());
}
}
}

}
}

EL cual me permite descomponer un texto (sDetalle) de largo 1000 en 5 variables, cada una de 200 de largo.
COnsulta, ¿Alguien me puede ayudar a mejorar el codigo?
¿Alguien tiene una idea?

Gracias

GreenEyed 16/05/2008 01:47

Respuesta: Codigo para descomponer un string en 5 partes
 
No es que sea nada del otro mundo, pero alguna que otra comparacion y asignacion repetida la puedes evitar. Sacando las constantes fuera es mas facil de mantener etc. Tampoco hay mucho que sacar en un codigo tan pequeño. Mas que nada es cuestion de legibilidad y mantenibilidad.
S!

Código PHP:

    String sDetalle "0123456789abcdefgh1j0123456789abcdefgh1j01234";
    
int longitud sDetalle.length();
    
String parte1 null;
    
int limite1 10;
    
String parte2 null;
    
int limite2 20;
    
String parte3 null;
    
int limite3 30;
    
String parte4 null;
    
int limite4 40;
    
String parte5 null;

    
parte1 sDetalle.substring(0Math.min(longitudlimite1));
    if (
longitud >= limite1)
    {
      
parte2 sDetalle.substring(limite1Math.min(longitudlimite2));
      if (
longitud >= limite2)
      {
        
parte3 sDetalle.substring(limite2Math.min(longitudlimite3));
        if (
longitud >= limite3)
        {
          
parte4 sDetalle.substring(limite3Math.min(longitudlimite4));
          if (
longitud >= limite4)
          {
            
parte5 sDetalle.substring(limite4);
          }
        }
      }
    }
    
System.err.println("parte1: " parte1);
    
System.err.println("parte2: " parte2);
    
System.err.println("parte3: " parte3);
    
System.err.println("parte4: " parte4);
    
System.err.println("parte5: " parte5); 


fbirrer 16/05/2008 03:17

Respuesta: Codigo para descomponer un string en 5 partes
 
Cita:

Iniciado por GreenEyed (Mensaje 2407185)
No es que sea nada del otro mundo, pero alguna que otra comparacion y asignacion repetida la puedes evitar. Sacando las constantes fuera es mas facil de mantener etc. Tampoco hay mucho que sacar en un codigo tan pequeño. Mas que nada es cuestion de legibilidad y mantenibilidad.
S!

Código PHP:

    String sDetalle "0123456789abcdefgh1j0123456789abcdefgh1j01234";
    
int longitud sDetalle.length();
    
String parte1 null;
    
int limite1 10;
    
String parte2 null;
    
int limite2 20;
    
String parte3 null;
    
int limite3 30;
    
String parte4 null;
    
int limite4 40;
    
String parte5 null;

    
parte1 sDetalle.substring(0Math.min(longitudlimite1));
    if (
longitud >= limite1)
    {
      
parte2 sDetalle.substring(limite1Math.min(longitudlimite2));
      if (
longitud >= limite2)
      {
        
parte3 sDetalle.substring(limite2Math.min(longitudlimite3));
        if (
longitud >= limite3)
        {
          
parte4 sDetalle.substring(limite3Math.min(longitudlimite4));
          if (
longitud >= limite4)
          {
            
parte5 sDetalle.substring(limite4);
          }
        }
      }
    }
    
System.err.println("parte1: " parte1);
    
System.err.println("parte2: " parte2);
    
System.err.println("parte3: " parte3);
    
System.err.println("parte4: " parte4);
    
System.err.println("parte5: " parte5); 


gracias!

heymatias 11/08/2008 08:55

Respuesta: Codigo para descomponer un string en 5 partes
 
Hola, que tal este código, te sirve para descomponer una cadena en n cadenas de m longitud y guarda los resultados en un arreglo.

Código PHP:

function descomponer_cadena($cadena$maximo){
     
$retorno = array(); //no me acuerdo si era Array() o array()
     
while(strlen($cadena)>$maximo){
          
$retorno[]=substr($cadena,0,$maximo);
          
$cadena substr($cadena,$maximo);
     }
     
$retorno[]=$cadena;
     return 
$retorno;


Y la podés llamar en tu caso así

Código PHP:

$partes=descomponer_cadena($sDetalle,200); 



La zona horaria es GMT -6. Ahora son las 18:54.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.