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: 1154
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.

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: 1154
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...

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: 1154
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?

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: 1154
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.

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo