Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Espressione regolare

    ciao a tutti,
    mi servirebbe un aiuto con un'espressione regolare:
    dovrei rimpiazzare tutti gli spazi bianchi di una stringa:

    es:
    " ciao a tutti!" -----> "ciao a tutti!"

    avevo pensato di usare il metodo replaceAll passando come parametro l'espressione regolare.
    sapete dirmi come sarà l'espressione?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Per fare quello che chiedi non è necessario utilizzare le espressioni regolari (togliendo gli spazi, otterresti di perdere anche quelli fra le parole, appiccicando tutto).
    Prova semplicemente così:
    codice:
    String str = tuaStringa.trim();
    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
    si, ma in questo modo tolgo solo gli spazi all'inizio e alla fine della frase...
    a me interessa sostituire tutti gli spazi bianchi ripetuti con uno solo ovvero:
    ciao a tutti
    con
    ciao a tutti

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    str = str.replaceAll (" {2,}", " ");
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da Gianluigi83
    si, ma in questo modo tolgo solo gli spazi all'inizio e alla fine della frase...
    a me interessa sostituire tutti gli spazi bianchi ripetuti con uno solo ovvero:
    ciao a tutti
    con
    ciao a tutti
    Beh... non era esattamente quello che chiedevi nel primo post... bastava dirlo!
    "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

  6. #6
    è vero...solo che nella stringa di esempio che ho usato, la formattazione del post mi ha eliminato degli spazi che avevo messo... e non me ne sono accorto..

  7. #7
    ...adesso il problema è il seguente...
    ho una stringa che è composta anche da delle coppie tipo nome1="valore" nome2="valore"
    mi serve un modo per spittare tale stringa e recuperare tutte le coppie nome e valore.
    come posso fare? con un'espressione regolare?se si, come potrebbe essere tale espressione?

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Gianluigi83
    se si, come potrebbe essere tale espressione?
    Ad esempio:

    "(\\w+)=\"(.*?)\""

    Poi il nome lo prendi con matcher.group(1) e il valore con matcher.group(2).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    ciao,
    il problema si è modificato..

    Utilizzo quest'espressione regolare per controllare la validità di un tag html:

    "/[a-zA-Z]+[1-6]?|[a-zA-Z]+[1-6]?(?: +[a-zA-Z]+ ?= ?\"[^\"]*\")*"

    a me occorre, però dividere tale espressione per controllare prima se si tratta di un tag senza attributi e poi, se il primo controllo è negativo, controllare se si tratta dei un tag con attributi..
    se entrambi i test falliscono allora la sintassi non è corretta. vorrei, quindi, trovare un modo che: se il primo controllo ha esito positivo allora è un tag senza attributi corretto. quindi non occorre eseguire il secondo test.

    es: div :sintassi corretta con il prino test

    div asa :sintassi non corretta con il prino test
    sintassi non corretta con il secondo test ...quindi sintassi non corretta

    div id= "ciao" sintassi non corretta al primo test
    sintassi corretta al secondo

    Voglio dividere questo controllo per avere una precisione in più sul tipo di errore. In tal modo posso dire se l'errore è nel nome o negli attributi..(se avete un idea migliore è ben accetta) quanto più aumento il dettaglio dell'errore trovato, meglio è...

    Come va spezzata l'espressione regolare per eseguire separatamente i due test?
    Me l'espressione di cui sopra accetta nomi per attributi come nome_attributo ?
    in generale, mi dite che tipo di sintassi non accetta? io devo renderla quanto più realistica possibile per la validazione di un tag html.
    Grazie ciao

  10. #10
    niente??

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.