Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Ricerca di una stringa..
Forum - C# / VB.NET - Ricerca di una stringa..

Avatar
antoniol (Normal User)
Pro


Messaggi: 84
Iscritto: 12/07/2006

Segnala al moderatore
Postato alle 13:07
Lunedì, 06/11/2006
Praticamente sto cercando di fare un programma che mi trovi in una text "<a>" e mi resituisca il testo fino a quando nn trova "<\a>... C'è qualche funzione? Per questo mio problema escludendo indexof?

Ciao a tutti e grazie per l'aiuto

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 11:58
Martedì, 07/11/2006
Testo quotato

Postato originariamente da antoniol:

Praticamente sto cercando di fare un programma che mi trovi in una text "<a>" e mi resituisca il testo fino a quando nn trova "<\a>... C'è qualche funzione? Per questo mio problema escludendo indexof?

Ciao a tutti e grazie per l'aiuto



Perchè non vuoi usare indexof?
Codice sorgente - presumibilmente VB.NET

  1. Dim Start As UInt32 = Str.IndexOf("<a>") + 3
  2. Dim _End As UInt32 = Str.IndexOf("</a>") - 1
  3. Dim Result As String = Str.SubString(Start, _End)
  4. MsgBox(Result)



Se fossi più preciso, potrei anche suggerirti di usare l'htmlElementCollection, ma non so se stai usando un controlo webbrowser o roba del genere: se me lo dici, ti posso consigliare meglio.

P.S.: usando un po' di fantasia puoi trovare tutte le istanze di <a> e </a> nel testo anzichè solo la prima :k:

PM Quote
Avatar
antoniol (Normal User)
Pro


Messaggi: 84
Iscritto: 12/07/2006

Segnala al moderatore
Postato alle 14:08
Mercoledì, 08/11/2006
Io avevo fatto +o- nello stesso modo......
Lo dovevo postare oggi:
        Dim str = "<a> ciao </a>"
        MsgBox(str.SubString(str.IndexOf("<a>") + 3, str.IndexOf("</a>"))).....

Tu come proproni di fare per trovare tutte le istanze di <a> e </a> nel testo anzichè solo la prima?? Io ho fatto una specie di ciclo ma se hai un idea migliore posta...

Devo ricercare il codice html.... In una pagina web mi basta ottenere l'html di una pagina. In che modo?  Come vuoi tu..

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 17:25
Mercoledì, 08/11/2006
Testo quotato

Postato originariamente da antoniol:

Io avevo fatto +o- nello stesso modo......
Lo dovevo postare oggi:
        Dim str = "<a> ciao </a>"
        MsgBox(str.SubString(str.IndexOf("<a>") + 3, str.IndexOf("</a>"))).....

Tu come proproni di fare per trovare tutte le istanze di <a> e </a> nel testo anzichè solo la prima?? Io ho fatto una specie di ciclo ma se hai un idea migliore posta...

Devo ricercare il codice html.... In una pagina web mi basta ottenere l'html di una pagina. In che modo?  Come vuoi tu..



A questo proprosito ho scritto un altro capitolo della mia guida, che puoi consultare da qui: http://www.pierotofy.it/pages/guide/Guida_al_Visual_Basic_ ....
Buon divertimento :k:

PM Quote
Avatar
antoniol (Normal User)
Pro


Messaggi: 84
Iscritto: 12/07/2006

Segnala al moderatore
Postato alle 18:24
Giovedì, 09/11/2006
Cmq la funzione substring nn è quella adatta.......

Io nn so la lunghezza del testo....

infatti substring(posizione di inzio, lunghezza)

Io nn so la lunghezza..... A me serve una funzione che faccia.....

Funzione(posizione di inizio, posizione di fine)

La lunghezza varia e io nn la so....

Mi sono spiegato?? nn so se sono stato chiaro...

si può fare cosi testo.lenght(-inizio)

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 20:57
Giovedì, 09/11/2006
Testo quotato

Postato originariamente da antoniol:

Cmq la funzione substring nn è quella adatta.......

Io nn so la lunghezza del testo....

infatti substring(posizione di inzio, lunghezza)

Io nn so la lunghezza..... A me serve una funzione che faccia.....

Funzione(posizione di inizio, posizione di fine)

La lunghezza varia e io nn la so....

Mi sono spiegato?? nn so se sono stato chiaro...

si può fare cosi testo.lenght(-inizio)



Scusa, ma hai letto il capitolo? Quello che hai detto non c'entra niente con quello che c'è scritto lì dentro...

PM Quote
Avatar
cyber (Normal User)
Rookie


Messaggi: 51
Iscritto: 03/11/2006

Segnala al moderatore
Postato alle 18:53
Sabato, 11/11/2006
Vabe senza litigare.. ;)

Servirebbe anche me la funzione che serve ad antoniol.......... In particolare:

usando un po' di fantasia puoi trovare tutte le istanze di <a> e </a> nel testo anzichè solo la prima..... Mi potete postare come si fa???  

Grazie.....

siamo qui per imparare

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 19:01
Domenica, 12/11/2006
Testo quotato

Postato originariamente da cyber:

Vabe senza litigare.. ;)

Servirebbe anche me la funzione che serve ad antoniol.......... In particolare:

usando un po' di fantasia puoi trovare tutte le istanze di <a> e </a> nel testo anzichè solo la prima..... Mi potete postare come si fa???  

Grazie.....

siamo qui per imparare



SI può fare in due modi:
Codice sorgente - presumibilmente VB.NET

  1. Public WithEvents WB as WebBrowser
  2. Private Cmd_Click(...) Handles Cmd.Click
  3.   'Alla pressione di un pulsante carica la pagina
  4.   WB.Navigate(New Uri(<url>)
  5. End SUb
  6. Private Sub WB_Comp(...) Handles WB.DocumentCompleted
  7.   'trova tutte le <a> nel testo, modo 1
  8.   Dim Links as HtmlCollection = WB.Document.Links
  9.   For Each HTML As HtmlElement In Links
  10.     If HTML.Tagname = "A" Then
  11.       '...
  12.     End If
  13.   Next
  14.  
  15.   'Modo 2
  16.   Dim SearchText As String = WB.DocumentText
  17.   Dim Index As UInt64
  18.   Dim CharDeleted As UInt64
  19.   Dim Temp As String
  20.  
  21.   while SearchText.Length > 0
  22.     'CharDeleted + Index è l'indice di un'istanza di <a> nel testo
  23.     Index = SearchText.IndexOf("<a>")
  24.     Temp = SearchText.Substring(Index + 3)
  25.     CharDeleted += SearchText.Length - Temp.Length
  26.     SearchText = Temp
  27.   End While


PM Quote