Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    14

    [Java] Ricerca simboli in stringa

    Salve a tutti.
    Il mio problema è questo: avrei bisogno di analizzare una stringa alla ricerca dei simboli "<", ">", "<=", ">=", "=", e "!=", ottenendo inoltre due variabili intere contenenti rispettivamente la posizione di inizio e di fine del primo di questi simboli presente nella stringa. So come svolgere questa operazione utilizzando il metodo indexOf della classe String, tuttavia cercare i simboli uno alla volta mi porterebbe a scrivere un codice molto lungo e confuso. Mi chiedevo quindi se per caso esiste in Java un metodo che permetta di effettuare una sola ricerca complessiva ricevendo in input l'intero gruppo di simboli, e che possibilmente sappia differenziare un ">" da un ">=" o casi simili. Sapreste aiutarmi?
    Grazie anticipatamente per l'aiuto.

  2. #2
    Credo che dovresti utilizzare le espressioni regolari.
    Esiste il package java.util.regex, che definisce due classi, sulla quali si basa tutta la
    libreria che utilizza le espressioni regolari. Si tratta della classe Pattern e Matcher.
    La classe Pattern, serve proprio a definire le espressioni regolari mediante il suo metodo statico compile().
    La classe Matcher invece definisce diversi metodi per la ricerca e l’analisi del testo, come
    i metodi matches(), find(), start(), end(), replaceFirst(), replaceAll(), etc...

    Non so usarle bene ancora ma ti posto un pezzo di esempio tratto da un manuale:

    codice:
    Pattern p = Pattern.compile("\\bpackage\\b");
    String content = this.getText();
    Matcher m = p.matcher(content);
    while (m.find()) {
        int start = m.start();
        int end = m.end();
        . . .
    Permette di ricercare la posizione della parola “package” all’interno del testo ciclando su
    ogni occorrenza trovata. Tenere presente che la variabile content contiene il testo
    digitato dall’utente e che il simbolo \b rappresenta il delimitatore dell’espressione.

    Per la documentazione vedi qui


  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    14
    Grazie mille! E' stato un po' difficile imparare le basi delle espressioni regolari, ma finalmente ho risolto il problema.

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