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

    [Java - Regexp] Domanda su metodo split()

    Salve a tutti, premetto che non conosco le regexp e quindi chiedo se sia possibile :
    Ho una stringa contenente dell'html (Esempio html = "<h1 class=\"pippo\">titolo</h1>

    bla blabla bla</p>"

    e volevo sapere se era possibile, tramite il metodo split su questa stringa, ottenere un array avente come contenuto solo le sottostringhe presenti tra '<' e '>' (esclusi)
    codice:
    String [] str = html.split([regexp]);
    ottenendo così :
    
    h1 class="pippo"
    /h1
    p
    strong
    /strong
    /p
    Qualcuno potrebbe aiutarmi a scrivere la regexp corretta per ottenere questo risultato?
    Grazie mille in anticipo!!
    "La luce e' piu' veloce del suono. Per questo motivo alcune persone sembrano brillanti fino a quando non parlano."

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Non ti conviene usare split(). Meglio usare find() di Matcher. Avevo fatto un esempio (sebbene leggermente diverso da quello che serve a te) in questa discussione.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Ah si scusami, non l'avevo vista!
    Per favore, mi potresti però dare una mano a scrivere l'espressione relativa al mio caso?
    Perchè non ci capisco davvero nulla nella sintassi delle regexp :master:
    Grazie mille in anticipo
    "La luce e' piu' veloce del suono. Per questo motivo alcune persone sembrano brillanti fino a quando non parlano."

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da shadow001
    Per favore, mi potresti però dare una mano a scrivere l'espressione relativa al mio caso?
    Se vuoi catturare tutto e solo ciò che sta tra < >, allora puoi usare la stringa regex:

    "(?<=<)(.*?)(?=>)"

    e poi prendi il contenuto con matcher.group().

    P.S. postandolo, si vede uno spazio prima dei due ). Non ci vanno questi spazi!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Grazie mille
    "La luce e' piu' veloce del suono. Per questo motivo alcune persone sembrano brillanti fino a quando non parlano."

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.