Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 35

Discussione: funzione indexof

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    189

    funzione indexof

    ciao a tutti....ragazzi vorrei chiedervi qualche chiarimento....
    studiando nel mio manuale ho esaminando a fondo la funzione indexof, che mi restituisce l'indice del carattere che io prendo in considerazione....vorrei capire una cosa, se io volessi prelevare da un vettore, tutte le stringhe dopo un determinato carattere, posso usare la funzione indexof??' grazie mille

    vorrei qualche chiarimento in piu', da qualcuno che ha usato questa funzione

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    si può fare tutto e si può fare niente.
    allora indexof restituisce la prima occorrenza della sequenza/carattere specificata come parametro, -1 se non la trova. Esiste un overridre di indexof (e guardali tutti qui ) che restituisce l'occorrezza della stringa/carattere a partire dall'index che passi come parametro.

    perciò se ad esmepio hai

    codice:
    String testo = "provo a vedere come funziona stringof, voglio capire come funge"
    prova a fare
    codice:
    int index = testo.stringof("fu");
    e dovrebbe darti 20

    se poi fai
    codice:
    index = testo.stringof("fu", index);
    hai l'occorrenza del secondo fu (che non mi va di contare ora).

    In questo modo puoi parsare l'intera stringa cercando di volta in volta le occorrenze

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    189
    valia ti ricordi il mio caso...

    es ====pasta====pane ecc ecc
    potrei estrarre pasta e pane, assegnando come elemento dell'indexof il carattere =, mi spiego meglio, sapendo in che posizione si trova il carattere da eliminare, io posso prelevare soltanto le stringhe dopo...e con un ciclo for farei questa operazione in tutto il vettore...no???

  4. #4
    Non si capisce benissimo l'esempio. Parli di vettore ma mostri un esempio con una stringa singola (====pasta====pane).

    Se a te interessa esattamente questo:

    se io volessi prelevare da un vettore, tutte le stringhe dopo un determinato carattere, posso usare la funzione indexof??
    Cicli sul vettore, applichi la indexOf per ottenere l'indice del carattere cercato, poi utilizzi substring per prendere la sottoscriva che va dal carattere successivo a quello cercato fino alla fine:

    Codice PHP:
          String[] arr = new String[]{"google.com""yahoo.it""bla.gov""abx"}; 
          for(
    int i 0arr.lengthi++)
          {
             
    int index arr[i].indexOf('.');
             if(
    index != -1)
                
    System.out.println(arr[i].substring(index+1));
             else
                
    System.out.println("'.' non trovato");
          } 

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    allora fermo restando che per l'ennesima volta ti consiglio di passare ad un sistema organizzato meglio, per quello che vuoi fare tu funziona meglio (nel senso che è più efficiente) lo split.
    Come se in questo caso vorresti reinventare la ruota

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    189
    ciao, ti spiego il mio vettore e' formato in questo modo

    es

    ==== Vino Castelblanch Extra Brut\r\n ==== Cointreau\r\n ==== Passoa\r\n ==== ecc ecc e' un elenco di ingredienti....

    io devo semplicemente estrarre da questa sequenza di caratteri, soltanto le stringhe dopo il carattere = ovvero Vino Caste...., Cointreau, passo ecc ecc capito??

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    189
    valia la funzione split nn mi da i risultati che cerco.....come ho gia' detto qualche giorno fa, mi leva soltanto un carattere alla volta , e i caratteri \n e \r neanche me li riconosce....

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    si vede che non scrivi bene qualcosa, o la regex che usi per splittare oppure (cosa probabile) la stringa che vuoi parsare). Questo perché nell'esempio che ti ho fatto io funziona (e bene)
    Come ti ho già detto il parse può essere brutto, proprio perché la stringa la puoi scrivere in tanti modi diversi. Oltretutto i normali editor introducono caratteri sporchi che tu non vedi ma creano malfunzionamenti di questo tipo.
    Io uso regolarmente split e non ho tutti i problemi che lamenti tu

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    189
    valia

    quando io provo a compilare questa linea di codice

    Statement statement = con.createStatement();
    statement.executeUpdate("INSERT INTO Newingredienti (Ingredienti) VALUES (" + temp[i] +")");

    come mai mi dice che c'e' un errore di sintassi nell' insert?? Non posso assegnare come values un vettore??

    un altro modo x inserire gli elementi del vettore, nel campo ingredienti della tabella Newingredienti c'e'???


    ormai come punto di riferimento ho te...

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    189
    valia l'esempio che avevi testato tu e' il seguente

    codice:
    String testo = valore;
            String[] tmp = testo.split("\\n\\r");
    		
    		
           for(int i =0; i < tmp.length ; i++){
            System.out.println( tmp[i]);
     
     }
    mi restituisce il testo originario, senza effettuare alcuna modifica

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 © 2025 vBulletin Solutions, Inc. All rights reserved.