Ciao,
Ho bisogno di creare una inStrRev che mi trovi il primo carattere maiuscolo in una stringa.
Oppure una funzione tipo 'isUpper' che mi dica se il carattere analizzato è maiuscolo o no.
Grazie mille![]()
Ciao,
Ho bisogno di creare una inStrRev che mi trovi il primo carattere maiuscolo in una stringa.
Oppure una funzione tipo 'isUpper' che mi dica se il carattere analizzato è maiuscolo o no.
Grazie mille![]()
controlla che il codice ascii sia tra 65 (A) e 94 (Z). that easy!
Miticoz grazie![]()
Al popolocodice:function lastUpper(str) 'Una sorta di inStrRev che restituisce la posizione della 'prima lettera maiuscola nella stringa trovata, partendo dalla fine lastUpper = -1 dim i for i=Len(str) to 1 step -1 if Asc(Mid(str,i,1)) >= 65 And Asc(Mid(str,i,1)) <= 94 and lastUpper = -1 then lastUpper = i next end function
Probabilmente è migliorabile.
giusto per spirito di partecipazione, io cambierei il ciclo for in questo modo:
se le stringhe che devi esaminare sono molto lunghe forse ti conviene prendere in considerazione l'idea di passare ad una soluzione basata su regular expression.codice:function lastUpper(str) lastUpper = -1 dim i for i=Len(str) to 1 step -1 if Asc(Mid(str,i,1)) >= 65 And Asc(Mid(str,i,1)) <= 94 Then lastUpper = i exit for end if next end function
![]()
xxx
Ehm sì quell' "exit for" l'avevo aggiunto dopo
Comunque con le RE sono una schiappa!![]()
Mi piacerebbe saperle padroneggiare ma mi ci ingarbuglio sempre.... soprattutto quando oltre al Search fanno anche la Replace.
Oppure anche confrontando ogni carattere originale con lo stesso convertito in minuscolo:
codice:If MiaStringa <> LCase(MiaStringa) Then...