PDA

View Full Version : [VB.NET] Formattare Nome Cognome


OrcaAssassina
09-04-2008, 10:51
Un pò di tempo fa ho trovato una funzione in rete che mi permette di formattare un Nominativo

Se un Nominativo era scritto tipo:

PIPPO FRANCO

Con questa funzione lui scriveva:

Pippo Franco

Adesso ho riscontrato un problema se uno scrive il nome lasciando per sbaglio 2 spazi invece di uno

PIPPO FRANCO
PIPPO FRANCO

la funzione va in errore, scrivendo:
"Indice oltre i limiti della matrice."


Riporto la funzione, come posso modificarla???

Ciao e grazie

-----------------------------------------

'Metto tutto in minuscolo e rimuovo gli spazi all'inizio e alla fine
nome = LCase(nome).Trim()
'Creo un array dove separo il nome dal cognome
Dim temp() As String = nome.Split(" ")
Dim result As String = ""
For Each s As String In temp
'Inserisco come secondo carattere la lettera in maiuscolo
s = s.Insert(1, UCase(s(0)))
'Rimuovo il primo carattere (quello in minuscolo)
s = s.Remove(0, 1)
'Aggiungo la stringa al risultato
result += s + " "
Next
'Ritorno il risultato senza spazi all'inizio e alla fine
Return result.Trim()

-----------------------------------------

wingman87
09-04-2008, 11:33
Devi eseguire le istruzioni dentro al For Each solo se s è diverso da "", provo a scriverti quello che ho in mente ma non so se in VB.NET è esattamente così:
if(s.equals(""))
continue
Queste andrebbero messe come prime istruzioni del For Each

Einstein
09-04-2008, 20:57
Forse questo è ancora più semplice

http://blogs.ugidotnet.org/Alby/archive/2008/02/13/i-nomi-di-persona-si-scrivono-con-la-prima-lettera.aspx

OrcaAssassina
09-04-2008, 21:22
Ok grazieeeeeeee