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

    [JAVA]trovare in un file di testo determinate stringhe

    Ciao ragazzi

    ho un problema, ho un file di testo con tante stringhe devo estrarre tutte le stringhe che sono comprese tra apici " ".

    esempio
    Ciao piacere "io" sono un "utente" di Html.it e "sto" scrivendo sul forum "di" java

    mi deve restituire in output : io , utente , sto, di

    ci sta un comando per estrarre la stringa tra due caratteri definiti?

    ciao e grazie

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Re: [JAVA]trovare in un file di testo determinate stringhe

    Originariamente inviato da ubuntuunixc
    Ciao ragazzi

    ho un problema, ho un file di testo con tante stringhe devo estrarre tutte le stringhe che sono comprese tra apici " ".

    esempio
    Ciao piacere "io" sono un "utente" di Html.it e "sto" scrivendo sul forum "di" java

    mi deve restituire in output : io , utente , sto, di

    ci sta un comando per estrarre la stringa tra due caratteri definiti?

    ciao e grazie
    Comandi no... in Java non ci sono comandi.
    Ma esistono delle classi che ti aiutano, si chiamano tokenizzatori. Vedi StringTokenizer.

    Si può usare anche direttamente il metodo split() di String per ottenere un array di "pezzetti" di stringa delimitati da un particolare delimitatore (espressione regolare).


    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

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613
    Occhio anche al caso in cui le stringhe comprese fra doppi apici possano estendersi su più linee... forse in quel caso si fa pure prima a far da soli piuttosto che con le classi apposite per manipolare stringhe.

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    Potresti fare un qualcosa del genere:

    codice:
    public static LinkedList<String> stringheTraApici (String testo) {
    		LinkedList<String> l = new LinkedList<String> ();
    		int indice;
    		while ((indice  = testo.indexOf ("\"")) >= 0) {
    			testo = testo.substring (indice + 1);
    			if ((indice = testo.indexOf ("\"")) >= 0) {
    				l.add (testo.substring (0 , indice));
    				testo = testo.substring (indice + 1);
    			}else {
    				return l;
    			}
    		}
    
    		return l;
    	}
    è un codice che ho ftt molto rapido e non rigorosamente controllato , ma sembra funzionare , anche se sicuramente lo si può rendere molto più efficiente...
    io ho usato liste per comodità quindi puoi ad esempio richiamarlo e visualizzare le stringhe facendo:

    codice:
    System.out.println (NomeClasseDoveStaIlMetodo.stringheTraApici (QuiCiMettiLaTuaStringa))


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.