Oppure

Loading
17/04/09 19:22
Luk3
In una textbox trovo una stringa simile a questa:


it.netlog.com/Luka_uka_uka/photo/…

Dalla quale devo tirar fuori 72040944...
Netarrow mi ha suggerito le Regex, ho cercato anche sul manuale ma non sono riuscito a capire granchè.
Se qualcuno me lo spiega....
aaa
17/04/09 19:36
ruggy94
Dipende...se le stringhe che puoi trovare sono tutte di quel tipo (cioè un indirizzo di netlog combinato in quella maniera) non c'è neanche bisogno di utilizzare le regex...puoi farmi diversi esempi di stringhe che puoi trovare? così vediamo quale è il metodo più veloce per farlo :k:
aaa
17/04/09 19:38
theprogrammer
Se la stringa ha queste caratteristiche, non scomoderei le reg expr ma scriverei semplicemente

string s = "http://it.netlog.com/Luka_uka_uka/photo/photoid=72040944&surr=0#photos";

int tk1 = s.IndexOf("=")+1;
int tk2 = s.IndexOf("&");
int value = Convert.ToInt32(s.Substring(tk1, tk2 - tk1));


per avere il risultato nella variabile value
aaa
17/04/09 19:44
ruggy94
Postato originariamente da theprogrammer:

Se la stringa ha queste caratteristiche, non scomoderei le reg expr ma scriverei semplicemente

string s = "http://it.netlog.com/Luka_uka_uka/photo/photoid=72040944&surr=0#photos";

int tk1 = s.IndexOf("=")+1;
int tk2 = s.IndexOf("&");
int value = Convert.ToInt32(s.Substring(tk1, tk2 - tk1));


per avere il risultato nella variabile value

si infatti...pensavo a qualcosa del genere. Le Regex è meglio scomodarle per casi più complessi, per questo motivo ho chiesto a Luk3 se le stringhe presentano tutte più o meno le stesse caratteristiche
aaa
17/04/09 20:57
Luk3
Si, hanno tutti le stesse caratteristiche..
Io avevo pensato di rimuovere il non necessario.. Ma poi ho pensato che tutti hanno nick diversi :D
aaa
17/04/09 21:08
Luk3
Mmmh, ho sostituito il codice, ma mi da un errore al momento che vado a memorizzare la substringa nella variabile:

string add = textBox1.Text.ToString();
                int inizio = add.IndexOf("=") + 1;
                int fine = add.IndexOf("&");
//errore
                int picid = Convert.ToInt32(add.Substring(inizio, fine - inizio));
// fine errore                
picid.ToString();
                Uri url = new Uri("http://it.netlogstatic.com/p/oo/072/040/" + picid.ToString() + ".jpg");
                WebClient client = new WebClient();
                string file = string.Format(picid + ".jpg");
                client.DownloadFile(url, Application.StartupPath + file);
                pictureBox1.Load(Application.StartupPath + file);


Mi dice che la lunghezza deve essre diversa da zero :om:
aaa
17/04/09 21:15
theprogrammer
Ma cosa c'e' dentro la stringa

add

??

Il codice funziona per quel tipo di stringa che avevi indicato ... se la cambi, ovviamente il codice non funziona piu' ...
aaa
17/04/09 21:24
Luk3
Ho cambiato i nomi alla tue varibili..
Adesso prende gli url da textbox, Ma comunque c'è lo stesso url..

aaa