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 - [C#] Se l'ultimo char è...
Forum - C# / VB.NET - [C#] Se l'ultimo char è...

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
fusebyte (Normal User)
Expert


Messaggi: 332
Iscritto: 24/12/2008

Segnala al moderatore
Postato alle 11:03
Giovedì, 06/03/2014
Ciao a tutti, avrei bisogno di un piccolo aiuto se possibile.Vi spiego
Partendo da dei dati qualsiasi,es.

Codice sorgente - presumibilmente C# / VB.NET

  1. pippo-pluto
  2. qui-quoqua- // <--- qui l'ultimo char è "-"
  3. papero-paperoga



Con queste  righe riesco a togliere l'ultimo char che specifico nella textbox
Nella var _line ho caricato tutto il testo che devo filtrare
Codice sorgente - presumibilmente C# / VB.NET

  1. string value = (_line);
  2.                             value = value.Trim();
  3.                            
  4.                             string myChar = textBoxCaratt.Text; // ho inserito il char "-"
  5.                             {
  6.                                 if (value.Length > 1 && value.EndsWith(myChar))
  7.                                 {
  8.                                     _line = value.Substring(0, value.Length - 1);


ottenendo questo output:
Codice sorgente - presumibilmente C# / VB.NET

  1. pippo-pluto
  2. qui-quoqua  // <--- l'ultimo char "-" è stato eliminato
  3. papero-paperoga



ora , come 2° OUTPUT, dovrei salvare solo le linee dove è presente come ultimo char quello specificato nella textbox con questo output:

Input
pippo-pluto
qui-quoqua- // <-- ultimo char inserito nella textbox
papero-paperoga

2° Output
qui-quoqua-  // <-- salvo solo la/e  linea/e  dove è presente l' ultimo char "-" inserito

ma non riesco a farlo, tutto quello che scrivo fa sempre altro, è evidente che sbaglio qualcosa
Potrei avere cortesemente un input su come modificare il sorgente per ottenere quanto descritto nel 2° OUTPUT?

Ringrazio infinitamente tutti.
Ciao:k:

PM Quote
Avatar
fusebyte (Normal User)
Expert


Messaggi: 332
Iscritto: 24/12/2008

Segnala al moderatore
Postato alle 11:53
Giovedì, 06/03/2014
ps:il testo è sempre caricato nella variabile _line.

Grazie,Ciao

PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1127
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 21:06
Giovedì, 06/03/2014
A mio parere dovresti scorrere la lista al contrario quando trovi uno \n allora ti segni una sentinella che determina che il prossimo char da leggere deve essere - altrimenti cancelli i caratteri fino al prossimo \n.
Questo è solo uno delle decine di modi che hai per svolgere il problema.


La programmazione è arte... fa che i tuoi script siano degni di un museo.
PM Quote
Avatar
fusebyte (Normal User)
Expert


Messaggi: 332
Iscritto: 24/12/2008

Segnala al moderatore
Postato alle 13:34
Venerdì, 07/03/2014
Gentilmente, se possibile, potrei vedere 2 righe di esempio su quanto hai scritto?
Non è molto che sono passato al C#.

Un amico mi ha fatto questo esempio ma mi da errore:
Codice sorgente - presumibilmente Delphi

  1. string carattere = "-";
  2.  
  3.          
  4.             string[] _lines = _line[];
  5.                              
  6.             //Ciclo for su array
  7.             for (int i = 0; i < _lines.Length; i++)
  8.                
  9.               Console.WriteLine(_lines[i] + ((_lines[i].EndsWith(carattere)) ? "\n\nScartato" : "\n\nBuono"));



Ti Ringrazio.Ciao

Ultima modifica effettuata da fusebyte il 07/03/2014 alle 13:40
PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1127
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 16:16
Venerdì, 07/03/2014
Potremmo sapere quale errore? Anche se si vede subito che il codice che hai postato non restituisce il risultato di cui tu hai bisogno...


La programmazione è arte... fa che i tuoi script siano degni di un museo.
PM Quote
Avatar
fusebyte (Normal User)
Expert


Messaggi: 332
Iscritto: 24/12/2008

Segnala al moderatore
Postato alle 18:00
Venerdì, 07/03/2014
Mi da errore qui:

Codice sorgente - presumibilmente C# / VB.NET

  1. string[] _lines = _line[]; // sintax error,value expected



se tutti i dati sono caricati in _line, c'è un errore di sintassi nell'array.

Allora ho provato
Codice sorgente - presumibilmente C#

  1. string [] _lines = new string [_line]; // ma anche cosi' mi dice che non posso convertire string in int



Puoi spiegarmi,per favore?

Ciao,Grazie







PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1127
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 21:53
Venerdì, 07/03/2014
Testo quotato

Postato originariamente da fusebyte:
Codice sorgente - presumibilmente C# / VB.NET

  1. string[] _lines = _line[]; // sintax error,value expected


  


Tu questo lavoro lo fai per creare una nuova lista identica per poi modificarla?


La programmazione è arte... fa che i tuoi script siano degni di un museo.
PM Quote
Avatar
fusebyte (Normal User)
Expert


Messaggi: 332
Iscritto: 24/12/2008

Segnala al moderatore
Postato alle 6:25
Sabato, 08/03/2014
Si, per creare un'altra lista dove mi vengano salvate solo le stringhe che per ultimo carattere hanno quello definito.


Grazie,Ciao

PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1127
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 13:10
Sabato, 08/03/2014
Se fai cosi, fai molto prima e soprattutto non sprechi un mare di risorse, analizzando il primo array riga per riga e salvando nel nuovo array solo le righe che ti interessano.


La programmazione è arte... fa che i tuoi script siano degni di un museo.
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo