Wie Entferne Komma getrennt dupliziert string-Werte und die letzten beiden Werte
Ich Sie entfernen möchten, durch Komma getrennt, doppelte string-Werte wie :
String str = "2,4,3,12,25,2,4,3,6,2,2,2";
Und ich möchte eine Ausgabe wie diese:
String str1 = "6,2";
bitte sagen, wie dies zu tun ich werde mich selber, aber ich kann nicht dieses Problem lösen
- was ist den patern, die Sie erwarten? warum nicht 3,12,25,4,3?
- dies ist zuletzt besucht Wert und ich möchte zeigen nur zwei der zuletzt besuchten Werte thats, warum ich nur 6 und 2
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einer wilden Fahrt mit Linq. Wahrscheinlich gibt es ein besserer Weg, aber das ist das erste, an das ich denken konnte.
Ziemlich einfach, funktioniert aber in deinem Fall
Hier ist ein Vorschlag:
Diese Lösung hält die Daten intakt, so dass, wenn Sie wollen, könnten Sie speichern die eindeutige Liste, dann tun viele Fragen auf dieser Liste. Lösungen mit
Distinct()
wird, zum Beispiel, nicht halten Sie jedes vorkommen von 2 in der Liste.Diese Lösung hat das Zwischenergebnis (nach
Where
) von:2,4,3,12,25,2,4,3,6,2
. Während der verschiedene sein wird:2,4,3,12,25,6
** Die Linie
.Where((st) => st==item ? false : (item = st) == item)
mag sich seltsam anhören, so lassen Sie mich erklären:Where
nimmt eine lambda-Funktion, die true zurückgibt, für Elemente, die ergriffen werden sollten, und false für die Elemente, die ignoriert werden sollen. Sost
werden die einzelnen sub-string aus derSplit
.Lassen Sie uns nun untersuchen, die eigentliche Funktion:
Str="2,4,3,12,25,2,4,3,6,2,2,1";
Könnten Sie die
.Distinct()
- Erweiterung-Methode.Split
FunktionAndere Lösung, die ich versucht habe zu halten, ganz einfach:
Diese iteriert durch Komma getrennte Elemente, die ganze Zeit halten die beiden das Letzte mal gesehen unterschiedliche Elemente in
holder
.String str = "2,4,3,12,25,2,4,3,6,2,2,2,6";
🙂 Ergebnisse in 6,2 nicht 2,6Diese geben mir die richtige Ausgabe, 3,6 das ist, was ich will.
Dank an alle Jungs, die mir ans.