String.split per ogni elemento dell'array

di il
3 risposte

String.split per ogni elemento dell'array

Ciao a tutti, devo "splittare" ogni stringa contenuta in un array, ma non riesco.

(Il testo interessato sarà tipo: nome1;città1;via1-nome2;città2;via2-)

Es:

                String riga = EditText.getText().toString();                                                                                  
                String[] splitRiga = tagInput.split("-");      
        
                String[] splitSplitRiga = splitRiga.split(";");
Ma mi segna l'errore su "split" di "splitSplitRiga"

Ho provato con un ciclo che appunto per ogni elemento dell'array esegue lo split, ma poi non riesco a richiamare la variabile "splitSplitRiga" al di fuori del ciclo.

Spero di essermi fatto capire.

3 Risposte

  • Re: String.split per ogni elemento dell'array

    Basta dichiararla fuori dal ciclo e valorizzarla dentro. L'errore quale sarebbe? Di sicuro manca l'indice, quello che dovresti incrementare nel ciclo.
  • Re: String.split per ogni elemento dell'array

    Nuovo codice:
       
            String riga = editText.getText().toString();                                                                                   
            String[] splitRiga = riga.split("-");                                                                                      
        
            String[] splitSplitRiga;
    
            for (int i = 0; i < splitRiga.length; i++) {
            
                splitSplitRiga = splitRiga.split(";");
              
            }
    
           
    Errore su ".split" di "splitSplitRiga": Cannot resolve method 'split' in 'String'


    Ho provato a cercare qualcosa su gli array multidimensionali ma non avendoli ma usati non sono riuscito a capire come integrarli alla mia necessità.
  • Re: String.split per ogni elemento dell'array

    Continua a mancare lindice sull'array:
    splitSplitRiga = splitRiga[i].split(";")
    Per sfruttare un array multimensionale l'approccio è:
    String prova = "nome1;città1;via1-nome2;città2;via2";
            String[][] res = new String[2][3]; //Dichiaro l'array multidimensionale
            String[] temp = prova.split("-"); //Dichiaro un array temporaneo e lo riempio con tutte le divisioni su "-"
            for(int i = 0; i < temp.length; i++){ 
                res[i] = temp[i].split(";");  //spezzetto ancora le divisioni
            }
            
            for(int j = 0; j<=1; j++){
                for(int k = 0; k<=2;k++) {
                    System.out.println(res[j][k]); //Stampo ogni singolo valore a video
                }
            }
Devi accedere o registrarti per scrivere nel forum
3 risposte