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

    Estrarre stringhe tra parentesi

    Salve, arrivo subito al sodo. Vorrei creare un metodo in cui, avendo una stringa ( es: "ambaraba(cici)cocò" ), riesca ad estrarre tutto quello che è all'interno delle parentesì (in questo caso "cici"). Purtroppo non ho la minima idea di quali metodi usare. Ho pensato ad usare la Classe Scanner, ma senza ottimi esiti. Qualche aiuto?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Estrarre stringhe tra parentesi

    Originariamente inviato da ThorHades
    Salve, arrivo subito al sodo. Vorrei creare un metodo in cui, avendo una stringa ( es: "ambaraba(cici)cocò" ), riesca ad estrarre tutto quello che è all'interno delle parentesì (in questo caso "cici"). Purtroppo non ho la minima idea di quali metodi usare. Ho pensato ad usare la Classe Scanner, ma senza ottimi esiti. Qualche aiuto?
    Almeno in 2 modi:

    - Andando avanti a "colpi" di indexOf(). Da un offset (inizialmente 0) parti cercando con indexOf la parentesi di apertura '(', se la trovi da quel punto cerchi in avanti con un altro indexOf la parentesi di chiusura ')'. Se trovi entrambi hai i due offset e puoi fare un substring(). Occhio: che il offset "end" di substring è escluso. Riparti cercando la apertura dall'ultimo offset+1

    - Con le "espressioni regolari" usando Pattern/Matcher di java.util.regex. Trovi esempi (anche miei) sul forum e trovi qualcosa tra i miei Java Examples (vedi dal mio sito in firma).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3

    Re: Estrarre stringhe tra parentesi

    Originariamente inviato da ThorHades
    Salve, arrivo subito al sodo. Vorrei creare un metodo in cui, avendo una stringa ( es: "ambaraba(cici)cocò" ), riesca ad estrarre tutto quello che è all'interno delle parentesì (in questo caso "cici"). Purtroppo non ho la minima idea di quali metodi usare. Ho pensato ad usare la Classe Scanner, ma senza ottimi esiti. Qualche aiuto?
    Volendo potresti usare il metodo split della classe String
    codice:
    ...
            String s = "ambaraba(cici)cocò";
            System.out.println( s.split("\\(")[1].split("\\)")[0] );
    ...

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Re: Estrarre stringhe tra parentesi

    Originariamente inviato da VincenzoTheBest
    codice:
            System.out.println( s.split("\\(")[1].split("\\)")[0] );
    Che non solo è contorto di per sé ma se ci fossero più parti ( ) da trovare non funzionerebbe.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5

    Re: Re: Re: Estrarre stringhe tra parentesi

    Originariamente inviato da andbin
    Che non solo è contorto di per sé ma se ci fossero più parti ( ) da trovare non funzionerebbe.
    Beh se ci sono più parti si può sempre "generalizzare"

    codice:
            String ss = "a(mba)raba(cici)cocò";
            while( ss.indexOf(")") > 0 ){
            	System.out.println("- " + ss.split("\\(")[1].split("\\)")[0] );
            	ss = ss.substring(ss.indexOf(")")+1, ss.length());
            }

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.