Oppure

Loading
05/11/12 15:27
Roby94
Guarda ho buttato giu velocemente due righe
            System.Text.RegularExpressions.Match match = null;
            string input = "http://asfsdf/giorgia@amazing.com";
            if (System.Text.RegularExpressions.Regex.IsMatch(input, "^http://([^@/]+)@([^@/.]+).([^@/.]{2,3})$"))
            {
                match = System.Text.RegularExpressions.Regex.Match(input, "^http://([^@/]+)@([^@/.]+).([^@/.]{2,3})$");
            }
            else if (System.Text.RegularExpressions.Regex.IsMatch(input, "^http://.*/([^@/]+)@([^@/.]+).([^@/.]{2,3})$"))
            {
                match = System.Text.RegularExpressions.Regex.Match(input, "^http://.*/([^@/]+)@([^@/.]+).([^@/.]{2,3})$");
            }
            if(match != null) 
                Console.WriteLine(match.Groups[1] + " " + match.Groups[2] + " " + match.Groups[3]);
            else 
                Console.WriteLine("false");

(Per i casi che hai citato funziona, bisogna vedere se esistono altre possibili eccezioni)
Questo sfrutta le famose regex o espressioni regolari vedi se riesci a capire il codice, per qualsiasi chiarimento chiedi pure.
PS il codice anche se funziona è una bozza, si puo migliorare
aaa
05/11/12 15:40
Postato originariamente da fusebyte:

Stavolta dove ho sbagliato,mannaggia....



Il risultato è nella stringa res. Se non posti la parte di codice che legge/scrive il file, non si può dire dove hai sbagliato.
06/11/12 1:41
fusebyte
Grazie Ruby e Grazie anche a te Nessuno.
Mi studio un po' i vostri codici e credo vi ricontattero'.


Ciao:k:
aaa
07/11/12 16:28
Renny
Postato originariamente da fusebyte:

Grazie Ruby e Grazie anche a te Nessuno.
Mi studio un po' i vostri codici e credo vi ricontattero'.


Ciao:k:


hahahha:rotfl:
Potere della televisione! :hail:
Ultima modifica effettuata da Renny 07/11/12 16:29
aaa
07/11/12 20:22
fusebyte
Miiii,che lapsus..scusami ROBY!!!
:k::k::k:

Ciao
aaa
07/11/12 20:24
Roby94
In realtà me ne ero accorto, ma non volevo fare il puntiglioso XD
aaa
09/11/12 18:44
fusebyte
Ragazzi,non ne vengo a capo, quello che riesco a fare è riscrivere su un nuovo file l'intero contenuto del file
originale,ma non me lo filtra, lo riscrive pari pari, input ed output sono identici.

La var dove è caricato il contenuto dell'input è sicuramente _line,
senno' non scriverebbe neanche l'output anche se identico all'input ed il file di output rimarrebbe vuoto.

Non capisco perche' non me lo filtra.

Sia il codice di Nessuno che di Roby mi da lo stesso risultato ( cioe input uguale ad output), ma sicuramente
non dipende da Voi ma da me, che tralascero' qualcosa.

Questo Roby è il tuo codice

if (checkBox_MyPrivateData1.Checked)
                    if (!string.IsNullOrEmpty(_line))
                       {
                        try
                        {
                            System.Text.RegularExpressions.Match match = null;
   
                  string input = _line;

                  if (System.Text.RegularExpressions.Regex.IsMatch(input, "^http://([^@/]+)@([^@/.]+).([^@/.]{2,3})$"))

                  {
   
                      match = System.Text.RegularExpressions.Regex.Match(input, "^http://([^@/]+)@([^@/.]+).([^@/.]{2,3})$");
  
                  }
 
                  else if (System.Text.RegularExpressions.Regex.IsMatch(input, "^http://.*/([^@/]+)@([^@/.]+).([^@/.]{2,3})$"))
   
                  {
 
                      match = System.Text.RegularExpressions.Regex.Match(input, "^http://.*/([^@/]+)@([^@/.]+).([^@/.]{2,3})$");
  
                  }
  
                  if(match != null)
  
                      Console.WriteLine(match.Groups[1] + " " + match.Groups[2] + " " + match.Groups[3]);
  
                  else
                        {
                      Console.WriteLine("false");                      
                        }
                            }
                        catch (Exception)
                      {  
                  }
                 }
              


e questo è quello di Nessuno





      if (checkBox_MyPrivareData1.Checked)

                  if (!string.IsNullOrEmpty(_line))

                          {

                              try
 
                              {
 
                                  string res = "";

                                     int atpos = _line.IndexOf("@");
 
       
                                            if (atpos>0)
                                              {
         

                                               int slpos = _line.LastIndexOf('/', atpos);

       

                                             if(slpos>0)

                                        res = _line.Substring(slpos+1, atpos - slpos-1);

                                           }  
  
                                    }
  
                              catch (Exception)
 
                              {
 
                           
                        }

                    }



Come potete vedere
nel caso di Roby ho assegnato input a _line
nel caso di Nessuno ho assegnato line a _line

Eppure l'errore lo devo aver fatto per forza di cose.


Ciao
Ultima modifica effettuata da fusebyte 09/11/12 18:58
aaa
09/11/12 18:46
Se continui a farci vedere solo questa parte di programma, non ne usciamo.

Devi mostrare tutto il codice, dall'apertura del file, alla chiusura, compresa lettura e, soprattutto, scrittura.