Ciao
ho una stringa così formata: AA_BB
dove
AA e BB sono numeri di lunghezza variabile.
Vorrei estrarre separatamente AA e BB, in pratica fino al simbolo '_' che funge da separatore, come posso fare?
Ciao
ho una stringa così formata: AA_BB
dove
AA e BB sono numeri di lunghezza variabile.
Vorrei estrarre separatamente AA e BB, in pratica fino al simbolo '_' che funge da separatore, come posso fare?
Sicut Nox Silentes
Devi usare SPLIT.
Oppure Left (o Right) con inStr.
codice:stringa = "AA_BB" parte1 = left(stringa, inStr(stringa,"_") - 1) parte2 = right(stringa, inStr(stringa,"_") + 1)
Ciao,Originariamente inviato da Mems
Oppure Left (o Right) con inStr.
codice:stringa = "AA_BB" parte1 = left(stringa, inStr(stringa,"_") - 1) parte2 = right(stringa, inStr(stringa,"_") + 1)
ho provato con il tuo consiglio però mi restituisce errore:
Tipo di errore:
Errore di run-time di Microsoft VBScript (0x800A0005)
Chiamata di routine o argomento non validi: 'left'
Sicut Nox Silentes
codice:stringa = "AA_BB" if inStr(stringa,"_") > 0 then parte1 = left(stringa, inStr(stringa,"_") - 1) parte2 = right(stringa,inStr(stringa,"_") - 1) response.write " " & parte1 & " " response.write parte2 & "</p>" else response.write "Nella stringa " & stringa & " non c'è il carattere _ (underscore) e non posso fare una ceppa di niente! " end if
Ciao Mems,
ho provato con il codice di cui sopra, il problema è che 'parte2' mi viene spezzata, ossia, viene presa solo una parte della stringa. Perchè?
Sicut Nox Silentes
Che ne so. A me funziona.
ah...Originariamente inviato da Mems
Che ne so. A me funziona.
Nel senso, funziona SOLO se in stringa = "AA_BB", BB è formato da 2 caratteri. Io, però, non posso sapere BB che lunghezza abbia. L'unico modo è estrarre tutto dopo il separatore '_'. Come posso fare?
Sicut Nox Silentes
Funziona a condizione che ci sia nel mezzo un carattere _ (underscore).
Prova così:
codice:parte2 = mid(stringa, inStr(stringa,"_") + 1)