Newsgroup: it.comp.lang.visual-basic
Titolo: Ricerca testo

Ciao a tutti,
avrei 2 domande da farvi:
1) devo fare una ricerca in una textbox che contiene un testo, senza sapere
quel che devo cercare :)
Mi spiego meglio: io conosco la parola prima e quella dopo e come risultato
vorrei avere quello che sta in mezzo.
Es.:
Testo ="Domani vado in campagna"
Io conosco "domani" e "in campagna" e come risultato vorrei ottenere "vado"
Per fare una ricerca del testo che conosco non ho problemi, ma questo
proprio non lo so. Suggerimenti/soluzioni?
2) Prendendo come esempio il testo precendente vorrei eliminare da esso
delle parole o parti di esse, ovvero che mi venisse restituito (ad esempio)
"Domani va in campa" (ovvero eliminando da vado "do" e da campagna "gna").
Grazie per gli aiuti che mi date e scusate se sono stato un pò lungo (era
per essere più chiaro possibile).
Ciao


Ciao,
prova cosě
--------------
Dim str As String
str = "Domani vado in campagna"
str = Replace(str, "Domani", "")
str = Replace(str, "in campagna", "")
MsgBox str
'Risutato
' vado
str = "Domani vado in campagna"
str = Replace(str, "Do ", " ")
str = Replace(str, "gna", "")
MsgBox str
'Risultato
'Domani va in campa
---------------------
Ciao Giorgio

 Ciao Giorgio
Posso perfezionarlo ? io utilizzerei instr
preTxt = "Domani"
postTxt = "in campagna"
inizio = instr(str,preTxt)+len(preTxt)
if inizio then '(attento ai null)
    fine = intrrev(str,postTxt)-len(postTxt)  'non ricordo se conta i valori
da 0 o dal len(str)
    if fine then 'attento sempre ai null
        msgbox mid$(str,inizio,fine) ' oppure  msgbox
mid$(str,inizio,len(str)-fine) se inizia dal massimo
    else
          msgbox "un c'e' nulla"
    end if
else
    msgbox "un c'e' nulla"
end if
-- 
<Gigio2K>
--- 
http://www.g2kweb.it/gigio2k
 ---
Nokia -> I.T.H.N. -> 
http://www.ithn.it/
VB -> I.C.L.VB -> 
http://www.it-lang-vb.net/

 questo proprio non lo so. Suggerimenti/soluzioni?
Option Compare Text
Private Sub Form_Load()
    stringa = "Domani vado in campagna"
'       Compone la serie delle parole note, nella sequenza corretta
'       Le evidenziera' (<...>) solo se le trova tutte nella stringa
completa, non solo alcune
    parole_note = Split(UCase("domani campagna"), Space(1))
    confronto = ""
    For comodo = LBound(parole_note) To UBound(parole_note)
        confronto = confronto & "*" & parole_note(comodo)
    Next comodo
    confronto = confronto & "*"
    messaggio = ""
    parole_non_note = ""
    If (stringa Like confronto) Then
        parole_stringa = Split(stringa, Space(1))
        For comodo = LBound(parole_stringa) To UBound(parole_stringa)
'               Verifica se la parola in parole_stringa(comodo) e' nota o
meno
            Do
                For comodo1 = LBound(parole_note) To UBound(parole_note)
                    If parole_note(comodo1) = UCase(parole_stringa(comodo))
Then
'                           Parola nota
                        messaggio = messaggio & IIf(messaggio = "", "",
Space(1)) & "<" & parole_stringa(comodo) & ">"
                        Exit Do
                    End If
                Next comodo1
'                   Parola non nota
                messaggio = messaggio & IIf(messaggio = "", "", Space(1)) &
parole_stringa(comodo)
                parole_non_note = parole_non_note & IIf(parole_non_note =
"", "", Space(1)) & parole_stringa(comodo)
                Exit Do
            Loop
        Next comodo
    End If
    If messaggio = "" Then
        messaggio = "Non ho trovato le parole note in:" & vbCrLf & stringa
    Else
        messaggio = messaggio & IIf(parole_non_note = "", "", vbCrLf &
vbCrLf & "Parole non note:" & vbCrLf & parole_non_note)
    End If
    MsgBox messaggio
End Sub

 'Domani va in campa
altrimenti, a meno che non fosse impostata diversamente la option compare,
il confronto sarebbe fatto in maniera binaria ed avresti come risultato
Domani vado in campa
beppe

 ha scritto nel messaggio
news:2i9hgiF...@uni-berlin.de...
