Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: metodo split[java]

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    193

    metodo split[java]

    Come funziona il metodo split in java; per esempio se io ho una stringa "mio$gatto" e volessi fare uno split per ricavarmi un array come dovrei fare?
    in questo modo:
    miastringa = "mio$gatto";
    String[] arrayStringa = new String[1];
    arrayStringa = miastringa.split("$");
    arrayStringa[0] sarà uguale a "mio"
    arrayStringa[0] sarà uguale a "gatto"

    ma non funziona quindi non sò come funziona

  2. #2
    Dovresti specificare anche cosa intendi per non funziona, ossia riportare eventuali messaggi d'errore, o descrivere il funzionamento errato.

    In questo caso, comunque, sembra che il problema sia legato al separatore "$". Se lo sostituisco con ":" il programma gira. Non so dirti di piu'...

    A proposito: hai istanziato un array di un unico elemento:

    codice:
    String[] arrayStringa = new String[1];
    Per quelli che sono i tuoi scopi, lascia pure la sola dichiarazione, cosi':

    codice:
    String[] arrayStringa;
    visto che poi fai un'assegnazione.
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

  3. #3
    Allora, facendo riferimento alla documentazione ufficiale:

    RegEx

    $ e' un carattere riservato e indica "fine riga".
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    193

    metodo split[java]

    Si grazie per non funziona intendevo che veniva assegnato al primo elemento del vettore l'intera stringa, ho capito il perchè forse si tratta come scriveva dekdek del separatore.

    Il problema è che dovevo trovare un separatore in una descrizione di una qualsiasi cosa.

    Ciao Martina

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Hai provato a dare un'occhiata alla classe StringTokenizer?


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    Utente di HTML.it L'avatar di morphy79
    Registrato dal
    Jun 2004
    Messaggi
    1,568
    codice:
    int i;
    StringTokenizer st = new StringTokenizer(stringaDaSplittare,";");
    String [] stringheSplittate = new String[st.countTokens()];
    i = 0;
    while (st.hasMoreTokens()) {
      stringheSplittate[i] = st.nextToken();
    i++;
    }
    odio chi parla di politica..
    anzi vorrei fondare un partito contro tutto ciò

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    193

    metodo split[java]

    Si infatti dopo ho optato per quella

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    193

    metodo split[java]

    Ma con la StringTokenizer si può impostare il limitatore come con lo split cioè, se ho una stringa fatta in questo modo "pippolutoaperino" con lo split posso dirgli

    String[] mia = "pippolutoaperino".split(":",2)

    mia[0] sarà uguale a "pippo"
    mia[1] sarà uguale a "plutoaperino"


  9. #9
    I token vengono cmq estratti uno per volta dallo StringTokenizer.
    Puoi fermarne la lettura quando vuoi, usando un contatore.
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

  10. #10
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Originariamente inviato da martinacol
    Ma con la StringTokenizer si può impostare il limitatore come con lo split cioè, se ho una stringa fatta in questo modo "pippolutoaperino" con lo split posso dirgli

    String[] mia = "pippolutoaperino".split(":",2)

    mia[0] sarà uguale a "pippo"
    mia[1] sarà uguale a "plutoaperino"
    No. Devi costruire un oggetto di tipo StringTokenizer, passargli la stringa e il carattere (o i caratteri, se più di uno) che intendi utilizzare come separatore:
    codice:
    String miaStringa = "pippo:pluto:paperino";
    StringTokenizer st = new StringTokenizer(miaStringa, ":");
    String [] mia = new String[st.countTokens()];
    for (int i=0; i<mia.length; i++) {
       mia[i] = st.nextToken();
    }
    
    /* Ora avrai la suddivisione:
    
      mia[0] contiene "pippo"
      mia[1] contiene "pluto"
      mia[2] contiene "paperino"
    
     */
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.