PDA

Visualizza la versione completa : [VB] eliminare caratteri


Rossella_75
03-12-2002, 12:02
Ciao a tutti :ciauz:

come posso togliere tutti i caratteri prima di uno spazio??

esempio:

variabile = "ciao a tutti" deve tornare "a tutti"



:ciauz:

xegallo
03-12-2002, 12:04
Originariamente inviato da Rossella_75
Ciao a tutti :ciauz:

come posso togliere tutti i caratteri prima di uno spazio??

esempio:

variabile = "ciao a tutti" deve tornare "a tutti"



:ciauz:
combina instr() e right()

Rossella_75
03-12-2002, 12:06
non lo so fare :( e non ho MSDN (sto imparando) non potresti farmi almeno un'esempio??

:ciauz:

xegallo
03-12-2002, 12:13
ti passo una routine generica per ottenere da una stringa un'altra se la stringa è divisa da un separatore


Function Parte(Var As Variant, Index As Integer, Sep As String) As String
' --- Routine ritorna la parte della stringa passata in var
' avendo il carattere di separazione passato in Sep e il numero di
' campo di ritorno passato in index
' se ritorna Var=null passato qualcosa che non va
'
Dim Passa As Variant
Dim posto As Long
Dim ini As Integer
Dim PostoM As Long
Dim MaxSegna As Long
Dim a As Long
Dim Iniziale As Integer
Dim Finale As Integer
Dim Uscita As String

Passa = Var
If Passa = "" Or IsNull(Passa) Or Index < 1 Then
Parte = -1
Exit Function
End If
' controllo se esiste il carrattere separatore cercato
posto = 0
posto = InStr(Passa, Sep)
If posto < 1 Then
Parte = -1
Exit Function
End If
posto = 0: ini = 1: PostoM = 0: MaxSegna = 0
'-- controllo per quanti sono i segnaposto
For a = 1 To Len(Passa)
posto = 0
posto = InStr(ini, Passa, Sep)
If posto > 0 Then
ini = posto + 1
MaxSegna = MaxSegna + 1
End If
Next
If Index > (MaxSegna + 1) Then
Parte = -1
Exit Function
End If
Iniziale = 1: posto = 0: Finale = 0: ini = 1
For a = 1 To Index
posto = InStr(ini, Passa, Sep)
If posto > 0 Then
Finale = posto ' - 1
ini = posto + 1
If a = (Index - 1) Then
Iniziale = posto ' + 1
End If
posto = 0
End If
Next
' determinare quanti caratteri è lungo il campo da recuperare
Uscita = ""
Select Case Index
Case 1
Uscita = Trim(Left(Passa, Finale - 1))
Case Is = (MaxSegna + 1)
Uscita = Trim(Mid$(Passa, Finale + 1))
Case Else
Uscita = Trim(Mid$(Passa, Iniziale + 1, (Finale - (Iniziale + 1))))
End Select
' Normalizzazione di Uscita
Uscita = Trim(Uscita)
If Uscita = Sep Or Uscita = "" Then
Uscita = " "
End If
Parte = Uscita
End Function

ddies
03-12-2002, 12:14
dim Stringa as string, Pos as integer

stringa="Ciao a Tutti"

Pos=instr(1,stringa," ")

dim Stringa2 as string

stringa2=mid(stringa,pos+1,len(stringa)-pos)

Rossella_75
03-12-2002, 12:30
Originariamente inviato da ddies


dim Stringa as string, Pos as integer

stringa="Ciao a Tutti"

Pos=instr(1,stringa," ")

dim Stringa2 as string

stringa2=mid(stringa,pos+1,len(stringa)-pos)


Devo avere qualche santo da qualche parte vicino Padova :)

Grazie mille :quipy:

:ciauz: :ciauz:

Rossella_75
03-12-2002, 12:37
ddies posso chiederti ancora una cosa??

io in pratica con questo codice tolgo la scritta "via" davanti all'elenco delle vie (quello di ieri) e va tutto bene, però l'elenco non contiene solo le vie (ricordi) ma anche le "piazze" per esempio,

io voorrei che esegue questa istruzione solo se trova la parola "via"

Esempio:

Via Catullo diventa > Catullo (OK)
Piazza 1° maggio rimane "Piazza 1° maggio"

e possibile??

:ciauz:

ddies
03-12-2002, 12:46
stringa=replace(stringa,"Via ","")

Rossella_75
03-12-2002, 12:49
:metallica :metallica

ddies
03-12-2002, 12:52
Attenta/o però che ti conviene trovare una guida msdn perché sennò è difficile imparare il linguaggio.

Loading