69 messaggi dal 25 febbraio 2002
Ciao ragazzi... ho un problema...
ho un testo in una variabile e dovrei scanzionarlo parola per parola ed eliminare (o sosituire) le parole più lunghe di un tot di caratteri...

faccio un esempio

facciamo conto che il testo contenga questa parola
ListCutCopyPasteDeleteWindows

è più lunga di 30 caratteri (limite massimo che voglio stabilire)... deve essere sostituita con un ## oppure dividerlo in due e farlo uscire cosi
ListCutCopyPa - steDeleteWindows

Come posso fare?
879 messaggi dal 09 luglio 2002
www.i-studio.it
Prendi il tuo testo, fai uno split usando come carattere separatore lo spazio, cicla su tutti gli elementi dell'array che ottieni e se una parola e' piu' lunga di x caratteri fai quello che devi fare

Ciao
Alex

Internetworking Studio Srl
www.i-studio.it
69 messaggi dal 25 febbraio 2002
teoricamente ci avevo pensato anche io alla tua soluzione...potrei gentilmente postarmi qualche riga di codice?

A presto e grazie
879 messaggi dal 09 luglio 2002
www.i-studio.it
Diciamo che hai una form con un campo che si chiama "testo". Nella pagina successiva fai una cosa del genere:
testo = request("testo")
arrayParole = split(testo, " ")
testoCorretto = ""
for i=0 to ubound(arrayParole)
if Len(arrayParole(i)) > 30 then ' <----- ho messo il limite a 30 caratteri
testoCorretto = testoCorretto & Left(arrayParole(i), 30) & "## "
else
testoCorretto = testoCorretto & arrayParole(i) & " "
end if
next

Nota che in questo caso, se la parola e' piu' lunga di 30 caratteri, ne mostri solo 30 + "##". Se invece la volessi spezzare in due pezzi, il primo di 30 caratteri ed il secondo dei restanti, fai cosi:
...
if Len(arrayParole(i)) > 30 then ' <----- ho messo il limite a 30 caratteri
testoCorretto = testoCorretto & Left(arrayParole(i), 30) & " " & Mid(arrayParole(i), 31) & " "
else
...

Nota ancora che in questo caso non c'e' un controllo che la parte restante della parola spezzata sia ancora piu' lunga di 30 caratteri (sta a te saperlo se puo' succedere...). Nel caso vuoi essere proprio tranquillo, fai in questo modo:
...
if Len(arrayParole(i)) > 30 then ' <----- ho messo il limite a 30 caratteri
parolaLunga = arrayParole(i)
do while Len(parolaLunga) > 30
testoCorretto = testoCorretto & Left(parolaLunga, 30) & " "
parolaLunga = Mid(parolaLunga, 31)
loop
testoCorretto = testoCorretto & Left(parolaLunga, 30) & " "
else
...


Ciao
Alex

Internetworking Studio Srl
www.i-studio.it
69 messaggi dal 25 febbraio 2002
Ok grazie... ho provato e funziona alla meviglia... ti ringrazio molto...sei stato molto gentile.

A presto

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.