split strings in viele Zeichenketten, die durch Zeilenumbruch?
habe ich eingehende Daten, die benötigt werden, aufgeteilt in mehrere Werte...dh.
2345\n564532\n345634\n234 234543\n1324 2435\n
Die Länge ist inkonsistent, wenn ich es erhalten, der Abstand ist inkonsistent, wenn es vorhanden ist, und ich möchte zu analysieren, um die letzten 3 Ziffern vor jedem "\n". wie breche ich den string und die schalten Sie es in einen neuen string? wie ich schon sagte, diese Runde kann es haben, 3 \n-Befehle, die nächste Zeit, es können 10, wie erstelle ich 3 neue Zeichenfolgen, analysieren Sie Sie, dann zerstören Sie Sie, bevor Sie die nächsten 10 kommen?
string[] result = x.Split('\r');
result = x.Split(splitAtReturn, StringSplitOptions.None);
string stringToAnalyze = null;
foreach (string s in result)
{
if (s != "\r")
{
stringToAnalyze += s;
}
else
{
how do i analyze the characters here?
}
}
- Hast du etwas ausprobieren?
- Im Titel ist die Antwort string.Split
- Ich denke, deine Frage ist nicht was wir bekommen. Bitte Versuch das deutlicher zu Holen Sie sich die Lösung.
- Denken Sie daran, dass, wenn Sie teilen eine Zeichenkette, die der char als Trennzeichen verwendet wird, entfernt aus der resultierenden strings. Es ist ein Tippfehler \r? meinst du \n?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie die string.Split-Methode. Insbesondere empfehle ich die überladung, die einen string-array mit möglichen Trennzeichen. Dies, weil die Teilung auf die neue-Zeile-Zeichen stellt ein einzigartiges problem. In Sie Beispiel all die newline chars sind einfach ein '\n', aber für einige OS, die das Zeilenende-char '\r\n " und wenn Sie können nicht ausschließen, die Möglichkeit zu haben, die zu zweit in die gleiche Datei dann
Statt, wenn Sie Ihr sind sicher, dass die Datei enthält nur das neue-Zeile-separator erlaubt von Ihrem OS dann könnten Sie
Die StringSplitOptions.RemoveEmptyEntries ermöglicht es zu erfassen, ein paar von aufeinanderfolgenden newline oder ein Ende newline als eine leere Zeichenfolge.
Nun können Sie die Arbeit auf die array-Prüfung der letzten 3 Ziffern jeder string
Statt, wenn Sie arbeiten wollen, nur über den index der newline-Zeichen ohne die Aufteilung der ursprünglichen Zeichenfolge, die Sie verwenden konnten string.IndexOf auf diese Weise
last3Digits :
[345, 532, 634, 543, 435]
List<string>
. Ich verstehe nicht, was du meinst mithow do i evaluate them every time
wollen Sie Durchlaufen es. dann verwenden Sie für die Schleife.foreach(var i in last3Digits)
Dies wurde beantwortet vor, überprüfen Sie diesen thread:
Einfachste Weg, um split einen string auf Zeilenumbrüche in .NET?
Eine alternative Möglichkeit ist die Verwendung StringReader:
Ihre Antwort:
theStringYouGot.Split('\n');
wo Sie ein array von strings zu tun, Ihre Verarbeitung für.