12 messaggi dal 26 aprile 2001
Ho la necessità di spezzare una srtinga e prendere solo i primi 22 caratteri facendo così:

descrizione=Left(descrizione,22)
in questo modo prendo i primi 22 caratteri
come faccio ad evitare di laciare la parola a metà e spezzare la stringa dove c'è il primo spazio doppo il ventiduesimo carattere?

esempio
nel modo che utilizzo io il risultato è "Al piano terra due van"
io vorrei che fosse "Al piano terra due vani"
qaulcuno ha un suggerimento?
grazie
11.886 messaggi dal 09 febbraio 2002
Contributi
Prova così:

descrizione = Left(descrizione, InStr(22, descrizione, " ")-1)

Enjoy learning and just keep making
12 messaggi dal 26 aprile 2001
ho provato ma mi restituisce questo errore:

Errore di run-time di Microsoft VBScript error '800a0005'
Chiamata di routine o argomento non validi: 'Left'

/coppolaimm/risultricerca.asp, line 256
1.818 messaggi dal 21 giugno 2001
Contributi
Left non supporta 2 parametri.
Devi usare Mid

Mid(descrizione,1, InStr(22, descrizione, " ")-1)

hyppos
<code> in giro torte sol ciclos et rotor igni</code>
12 messaggi dal 26 aprile 2001
In questo modo funziona il problema è che solo alcune volte mi srstituisce questo errore:

Errore di run-time di Microsoft VBScript error '800a0005'
Chiamata di routine o argomento non validi: 'Mid'

/coppolaimm/risultricerca.asp, line 258

la linea 258 é:
descrizione=Mid(descrizione,1, InStr(88, descrizione, " ")-1)

potrebbe essere perchè la descrizione alcune volte non è di 88 caratteri di lunghezza?
11.886 messaggi dal 09 febbraio 2002
Contributi
Come Left() non accetta due parametri? accetta una stringa in entrata (descrizione) e il numero di caratteri da troncare (InStr(22, descrizione, " ")-1)

Questo script indubbiamente funziona
descrizione = Left(descrizione, InStr(22, descrizione, " ")-1)

Si riceve un errore solamente quando Instr() restituisce 0, e cioè quando la stringa descrizione contiene 21 o meno caratteri o quando dopo il 21° non ci sono spazi. Modifica lo script qui sopra in questo modo:

<%
posizione = InStr(22, descrizione, " ")-1
if posizione > 0 then descrizione = Left(descrizione, posizione)
Response.write descrizione
%>

Enjoy learning and just keep making
1.818 messaggi dal 21 giugno 2001
Contributi
BrightSoul ha scritto:
Come Left() non accetta due parametri?


Ho detto una bischerata! Capita a volte...

hyppos
<code> in giro torte sol ciclos et rotor igni</code>

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.