Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/11/2015, 14:19
Montes28
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Descomponer cadena

hola amigos tengo un millon de cadenas como la siguiente 004 +3097875 +0059625 +0016125 -k486 C+1907* y necesito descomponerlas asi:

var1 = 004
var2 = 3097875
var3 = 0059625
var4 = 0016125
var5 = 486
var5 = 1907

en las var2,3,4 necesito quitar los ceros de la izquierda y los signos (+ -)
en var 5 necesito quierar los signos (+ -) y los caracteres antes del numero

Lo realice asi:

Código PHP:
Ver original
  1. $cadena = '004 +3097875 +0059625 +0016125 -k486 C+1907*';
  2.  
  3. $valores = str_replace(array("+","-",'C','*'),"",$raw_record);
  4.  
  5. list($var1,$var2,$var3,$var4,$var5,$var6) = explode(" ", $valores);
  6.  
  7.     echo $var1."<br>";
  8.     echo $var2."<br>";
  9.     echo (int) $var3."<br>";
  10.     echo (int) $var4."<br>";
  11.     echo preg_replace('/^\D+/', '', $var5 )."<br>";
  12.     echo $var6."<br>";

Puedo mejorarlo, que ideas tienen?