fusebyte (Normal User)
Expert
Messaggi: 332
Iscritto: 24/12/2008
|
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 |
pippo-pluto
qui-quoqua- // <--- qui l'ultimo char è "-"
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 |
string value = (_line);
value = value.Trim();
string myChar = textBoxCaratt.Text; // ho inserito il char "-"
{
if (value.Length > 1 && value.EndsWith(myChar))
{
_line = value.Substring(0, value.Length - 1);
|
ottenendo questo output:
Codice sorgente - presumibilmente C# / VB.NET |
pippo-pluto
qui-quoqua // <--- l'ultimo char "-" è stato eliminato
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
|
|
fusebyte (Normal User)
Expert
Messaggi: 332
Iscritto: 24/12/2008
|
ps:il testo è sempre caricato nella variabile _line.
Grazie,Ciao
|
|
Roby94 (Member)
Guru
Messaggi: 1170
Iscritto: 28/12/2009
|
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.
|
|
fusebyte (Normal User)
Expert
Messaggi: 332
Iscritto: 24/12/2008
|
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 |
string carattere = "-"; string[] _lines = _line[]; //Ciclo for su array for (int i = 0; i < _lines.Length; i++) 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 |
|
Roby94 (Member)
Guru
Messaggi: 1170
Iscritto: 28/12/2009
|
Potremmo sapere quale errore? Anche se si vede subito che il codice che hai postato non restituisce il risultato di cui tu hai bisogno...
|
|
fusebyte (Normal User)
Expert
Messaggi: 332
Iscritto: 24/12/2008
|
Mi da errore qui:
Codice sorgente - presumibilmente C# / VB.NET |
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# |
string [] _lines = new string [_line ]; // ma anche cosi' mi dice che non posso convertire string in int
|
Puoi spiegarmi,per favore?
Ciao,Grazie
|
|
Roby94 (Member)
Guru
Messaggi: 1170
Iscritto: 28/12/2009
|
Postato originariamente da fusebyte:
Codice sorgente - presumibilmente C# / VB.NET |
string[] _lines = _line[]; // sintax error,value expected
|
|
Tu questo lavoro lo fai per creare una nuova lista identica per poi modificarla? |
|
fusebyte (Normal User)
Expert
Messaggi: 332
Iscritto: 24/12/2008
|
Si, per creare un'altra lista dove mi vengano salvate solo le stringhe che per ultimo carattere hanno quello definito.
Grazie,Ciao
|
|
Roby94 (Member)
Guru
Messaggi: 1170
Iscritto: 28/12/2009
|
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.
|
|