Foros del Web » Programando para Internet » PHP »

Cual es la forma correcta de obtener numeros y letras de un string

Estas en el tema de Cual es la forma correcta de obtener numeros y letras de un string en el foro de PHP en Foros del Web. Hola amigos, tengo las siguientes cadenas de strings y de cada una necesito obtener: -Los valores positivos(sin signo) y los numero negativos. -las cadenas que ...
  #1 (permalink)  
Antiguo 31/05/2017, 07:19
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Cual es la forma correcta de obtener numeros y letras de un string

Hola amigos, tengo las siguientes cadenas de strings y de cada una necesito obtener:
-Los valores positivos(sin signo) y los numero negativos.
-las cadenas que no que sean números


$cadena1 = "CAD01 +001579 +015292 +027354 +1258 +0502 C079C*"
$cadena2 = "CAD02 +0279318 +0013000 +0143280 +1257 C+1111*"
$cadena3 = "CAD03 +0286569 -0009213 +0152994 +1295 C+1111*"
$cadena4 = "CAD04 +0280253 -0002729 +0149794 +1378 C+1111*"
$cadena5 = "!I01 +070772 +058940 +000450 +1802 +0499 C079D*"

las cadenas son variables osea la longitud del string



les cuento lo que hago:

Primero separo la cadena
$arregloValores = preg_split( '/( |,)/',$cadena1);

Ahora el problema que tengo es para separar los valores positivos(sin signo) y los numero negativos de las cadenas

Última edición por Montes28; 31/05/2017 a las 07:27
  #2 (permalink)  
Antiguo 31/05/2017, 13:15
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Cual es la forma correcta de obtener numeros y letras de un string

prueba asi:
Código PHP:
Ver original
  1. $cadena1 = "CAD01 +001579 +015292 +027354 +1258 +0502 C079C*";
  2. $cadena2 = "CAD02 +0279318 +0013000 +0143280 +1257 C+1111*";
  3. $cadena3 = "CAD03 +0286569 -0009213 +0152994 +1295 C+1111*";
  4. $cadena4 = "CAD04 +0280253 -0002729 +0149794 +1378 C+1111*";
  5. $cadena5 = "!I01 +070772 +058940 +000450 +1802 +0499 C079D*";
  6.  
  7. function numeros($X){
  8.         $data = array(
  9.                 'positivos' => array(),
  10.                 'negativos' => array(),
  11.                 'Otros' => array()
  12.         );
  13.     if(is_array($X)){
  14.         foreach ($X as $key => $value) {
  15.             if($value[0] =='+'){
  16.                 array_push($data['positivos'], $value);
  17.             }else if($value[0] =='-'){
  18.                 array_push($data['negativos'], $value);
  19.             }else{
  20.                 array_push($data['Otros'], $value);
  21.             }
  22.         }
  23.     }else{
  24.         return false;
  25.     }
  26.     return $data;
  27. }
  28. $can = explode(" ",$cadena1);
  29. print_r(numeros($can));
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 31/05/2017, 13:21
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Cual es la forma correcta de obtener numeros y letras de un string

asi tambien podra ser si el filtro es por el simbolo:
Código PHP:
Ver original
  1. $cadena1 = "CAD01 +001579 +015292 +027354 +1258 +0502 C079C*";
  2. $cadena2 = "CAD02 +0279318 +0013000 +0143280 +1257 C+1111*";
  3. $cadena3 = "CAD03 +0286569 -0009213 +0152994 +1295 C+1111*";
  4. $cadena4 = "CAD04 +0280253 -0002729 +0149794 +1378 C+1111*";
  5. $cadena5 = "!I01 +070772 +058940 +000450 +1802 +0499 C079D*";
  6.  
  7. function numeros($X){
  8.         $data = array(
  9.                 'positivos' => array(),
  10.                 'negativos' => array(),
  11.                 'Otros' => array()
  12.         );
  13.     if(is_array($X)){
  14.         foreach ($X as $key => $value) {
  15.             if(strpos($value,'+')!==false){
  16.                 array_push($data['positivos'], $value);
  17.             }else if(strpos($value,'-')!==false){
  18.                 array_push($data['negativos'], $value);
  19.             }else if(!strpos($value,'+') || !strpos($value,'-')){
  20.                 array_push($data['Otros'], $value);
  21.             }
  22.         }
  23.     }else{
  24.         return false;
  25.     }
  26.     return $data;
  27. }
  28. $can = explode(" ",$cadena3);
  29. print_r(numeros($can));

de esta manera agrega todos los que contenganel simbolo + al nodo positivos los que contengan el simbolo - al nodo negativos y el resto al nodo Otros
__________________
[email protected]
HITCEL

Etiquetas: correcta, forma, letras, numeros, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:43.