Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Mi aiutate a gestire questa stringa?

    Ho delle stringhe in un db di questo tipo A1B33C56d66e89
    Cioè composte da una lettera seguita da un numero(da 1 a 99) e poi ancora una lettera...

    Io devo prendere da questa stringa la prima lettera e mettere il numero seguente nella variabile associata,ovvero se ho una A devo mettere il numero seguente in una variabile $a se ho una B devo mettere il numero seguente in una variabile B e via di seguito..

    Le lettere sono sempre le stesse ovvero ABCDE ma alcune potrebbe non esserci in alcune stringhe

    Es. di stringhe
    A12B5C67
    B56
    C6D7E0
    E32
    B7C56

    Riesco a gestirla in qualche modo?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    codice:
    $array = array('A12B5C67','B56','C6D7E0','E32','B7C56');
    foreach($array as $str) {
      preg_match_all("#([A-Z]){1}(\d+)(.*)#",$str,$mth);
      echo $mth[1][0].' '.$mth[2][0].'
    ';
    }

  3. #3
    anche io l'ho fatta, ma più lunga

    Codice PHP:
    <?php
      $stringa 
    "A1B33C56d66e89";
      for (
    $i=0$i<strlen($stringa); $i++){
        
    $pos substr($stringa$i1);
        if (
    ereg("[a-zA-Z]",$pos)) {
          
    $result .= $pos.'=';
          
    $i++;
          while (
    ereg("[0-9]"substr($stringa$i1))) {
            
    $result .= substr($stringa$i1);
            
    $i++;
          }
          
    $result .= ";
    "
    ;
          
    $i--;
        }
      }
      echo 
    $result;
    ?>

  4. #4
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    Codice PHP:
    $stringa "A7685675"
    $primo substr($stringa01);
    $resto substr($stringa1strlen($stringa));
    if(
    $primo=="A"$a=$resto;
    else if(
    $primo=="B"$b=$resto;
    ...
    else 
    $var_senza_lettera $stringa
    e così?

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  5. #5
    Originariamente inviato da Emulman
    anche io l'ho fatta, ma più lunga

    Codice PHP:
    <?php
      $stringa 
    "A1B33C56d66e89";
      for (
    $i=0$i<strlen($stringa); $i++){
        
    $pos substr($stringa$i1);
        if (
    ereg("[a-zA-Z]",$pos)) {
          
    $result .= $pos.'=';
          
    $i++;
          while (
    ereg("[0-9]"substr($stringa$i1))) {
            
    $result .= substr($stringa$i1);
            
    $i++;
          }
          
    $result .= ";
    "
    ;
          
    $i--;
        }
      }
      echo 
    $result;
    ?>
    Questo codice è perfetto,GRAZIE!

    Ora mi manca l'ultimo passaggio è ho finito :-)

    Essendo la mia stringa del tipo AxxBxxCxxDxxExx dovrei fare una modifca al codice sopra in modo tale che se manca una lettere nella stringa,nel $result mi metta uno 0.
    Faccio un'esempio

    A23B22C3D5E3
    a=23
    B=22
    C=3
    D=5
    E=3

    Se invece ne manca uno
    A23C3D5E3
    A=23
    B=0
    C=3
    D=5
    E=3

    Come posso fare?
    Grazie ancora

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.