Ciao a tutti,
tempo fa avevo trovato una regexp che rimuoveva tutti gli spazi doppi superflui, tipo:
Qualcuno ce l'ha sotto mano e puo darmi una mano?codice:"ciao pippo come stai ?" Diventava "ciao pippo come stai ?"
Grazie mille!![]()
Ciao a tutti,
tempo fa avevo trovato una regexp che rimuoveva tutti gli spazi doppi superflui, tipo:
Qualcuno ce l'ha sotto mano e puo darmi una mano?codice:"ciao pippo come stai ?" Diventava "ciao pippo come stai ?"
Grazie mille!![]()
Rimpiazza due spazi con uno spazio.
Non è la stessa cosa...
Se ci sono tre spazi ne diventano 2...
E te fai una funzione che chiama se stessa fino a quando gli spazi doppi non esistono più.
codice:<% testo = "ciao sono topolino e c'ho il naso nero!!!" function rimuoviSpaziInutili(stringa) stringa = replace(stringa," "," ") if inStr(stringa," ") > 0 then call rimuoviSpaziInutili(stringa) rimuoviSpaziInutili = stringa end function testo = rimuoviSpaziInutili(testo) response.write testo %>
Eheh... grazie mille!!!
Avevo in mente quella regexp che non avevo neanche preso in considerazione metodi tradizionali!!
Grazie ancora!
![]()
se vuoi usare le regexp puoi provare questa:
codice:Function RiduciSpazi(str) Dim re Set re = New RegExp With re .Pattern = "(\s){2,}" .IgnoreCase = True .Global = True RiduciSpazi = re.Replace(str, " ") End With Set re = nothing End Function![]()
xxx
perché usare metodi "tradizionali" quando ci sono le regular expressions che sono fatte apposta?Originariamente inviato da maxolino
Eheh... grazie mille!!!
Avevo in mente quella regexp che non avevo neanche preso in considerazione metodi tradizionali!!
Grazie ancora!
![]()
con la funzione di Alethesnake sostituisci tutti gli spazi vuoti da 2 in su (compresi gli spazi, i ritorni a capo, le tabulazioni)
se vuoi eliminare solo gli spazi
codice:Function RiduciSpazi(str) Dim re Set re = New RegExp re.Pattern = " {2,}" re.Global = True RiduciSpazi = re.Replace(str, " ") Set re = nothing End Function
Grazie mille!!!
Me la potresti anche spiegare riga per riga![]()
Sono troppo indietro con le regexp![]()
beh... qua c'è poco da spiegare
il pattern " {2,}" vuol dire 2 o più sequenze del carattere precedente (in questo caso il carattere precedente è lo spazio quindi 2 o più spazzi consecutivi)codice:Function RiduciSpazi(str) Dim re Set re = New RegExp 'creo l'oggetto RegExp re.Pattern = " {2,}" 'imposto il pattern re.Global = True 'dico che è globale RiduciSpazi = re.Replace(str, " ") 'faccio il replace Set re = nothing End Function
![]()
Ciao a tutti,Originariamente inviato da Alethesnake
se vuoi usare le regexp puoi provare questa:
codice:Function RiduciSpazi(str) Dim re Set re = New RegExp With re .Pattern = "(\s){2,}" .IgnoreCase = True .Global = True RiduciSpazi = re.Replace(str, " ") End With Set re = nothing End Function![]()
riprendo questo thread solo perchè avrei bisogno, utilizzando la funzione sopra indicata, di togliere tutto eccetto Ritorno a Capo
Si può fare?