Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Elaborazione testo ottenuto con OuterText
Forum - Visual Basic 6 - Elaborazione testo ottenuto con OuterText

Avatar
dylan666 (Normal User)
Pro


Messaggi: 129
Iscritto: 08/09/2009

Segnala al moderatore
Postato alle 13:09
Domenica, 01/08/2010
Salve a tutti, ho tirato giù il testo di una pagina web usando OuterText.
Di tutto questo testo mi servirebbero solo alcune riche, da isolare con una regex.

Per farlo è possibile inserire il testo in una TextBox multilinea?
O devo per forza creare un file di testo temporaneo dove mettere questo testo per poi passarlo con un ciclo?

Grazie per le risposte che mi darete

Ultima modifica effettuata da dylan666 il 01/08/2010 alle 17:59
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6404
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 13:14
Domenica, 01/08/2010
Si chiamano "righe" non "riche" ...

Non ti serve né la textbox né un file. Puoi cercare quello che ti serve all'interno della variabile stringa in cui hai letto il contenuto della pagina.

E probabilmente non ti serve neanche una regex ... hai provato con una semplice Instr?


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
dylan666 (Normal User)
Pro


Messaggi: 129
Iscritto: 08/09/2009

Segnala al moderatore
Postato alle 16:06
Domenica, 01/08/2010
"riche" invece di "righe" è un evidente errore di battitura...

quanto alla variabile, non è un po' limitante in caso di testo molto lungo?
Nel mio caso particolare poi devo cercare tutte e righe che cominciano con un numero, splittarle in due utilizzando un carattere particolare come separatore e prendere quello che c'è subito prima e subito dopo

Quale è il modo migliore?

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6404
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 17:25
Domenica, 01/08/2010
Quello che c'è in InnerHTML può stare in una variabile.

Dovresti risolvere con la Split ... bisognerebbe vedere un caso reale, almeno in parte.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
dylan666 (Normal User)
Pro


Messaggi: 129
Iscritto: 08/09/2009

Segnala al moderatore
Postato alle 17:58
Domenica, 01/08/2010
L'esempio pratico è il seguente

Codice sorgente - presumibilmente Visual Basic 6

  1. Dim TestoHTML as String
  2. TestoHTML  = objDocument.documentElement.outerText



Ora, il testo che ho davanti è il seguente:

Codice sorgente - presumibilmente Plain Text

  1. Titolo della pagina
  2.  
  3. Riga di testo che non mi serve
  4.  
  5. Riga di testo che non mi serve
  6.  
  7. Riga di testo che non mi serve
  8.  
  9. Riga di testo che non mi serve
  10.  
  11. 1  dato interessante  = 1 valore
  12. 2  dato interessante  = 2 valore
  13. 3  dato interessante  = 3 valore
  14. 4  dato interessante  = 4 valore
  15.  
  16.  
  17. Riga di testo che non mi serve
  18.  
  19. Riga di testo che non mi serve
  20.  
  21. Riga di testo che non mi serve
  22.  
  23.  
  24. Bla bla bla



Mi servono quindi le 4 righe che iniziano con un numero dividendole con quello che c'è PRIMA dell segno = e quello che c'è dopo

PS: ho sostituito InnerHTML con OuterText per una serie di esigenze

Ultima modifica effettuata da dylan666 il 01/08/2010 alle 17:59
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6404
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 20:07
Domenica, 01/08/2010
Usa la Split per ottenere tutte le righe dalla variabile TestoHTML  

Poi esamina in un ciclo l'inizio di tutte le righe per capire se c'è un valore e, identificata una linea, separa le due parti con la Split.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
dylan666 (Normal User)
Pro


Messaggi: 129
Iscritto: 08/09/2009

Segnala al moderatore
Postato alle 15:02
Mercoledì, 04/08/2010
Grazie, immaginavo di dover fare in quel modo, con una regex (^[0-9]) sono riuscito a individuare le righe che mi interessavano

PM Quote