Hallo Forum,
ich erhalte die folgenden zwei Zeilen:
Name Pid Pri Thd Hnd Priv CPU Time Elapsed Time
OUTLOOK 772 8 27 760 17084 0:00:11.468 2:32:39.954
Ich möchte jetzt gernen einen regulären Ausdruck haben, der mir alle "Blöcke" der unteren Zeile wiedergibt. Kann mir da jemand einen Tipp geben? Ich steh grad total auf dem Schlauch!
Danke und Gruß,
Fabian
"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)
Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…
Blog: www.fabiandeitelhoff.de
Hallo,
hmm, ich Depp! Mit \s gehts ganz gut 🙂.
Gruß,
Fabian
"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)
Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…
Blog: www.fabiandeitelhoff.de
Hallo nochmal,
da ist doch noch ein Problem. Ich habs jetzt (Java) so gemacht:
String [] processInfo = line.split("\\s");
Jetzt erhalte ich in dem processInfo-Array aber nicht nur die Blöcke mit den anderen Zeichen, sondern auch Elemente, wo nur der Leerstring drin ist. Eigentlich klar, aber ich weiß jetzt nicht, wie ich das lösen könnte.
Kann mir jemand bei dem RegEx behilflich sein?
Gruß,
Fabian
"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)
Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…
Blog: www.fabiandeitelhoff.de
Um für jeden Key z.B: einen Node in einem TreeView zu erstellen (und SubNode = Value)
würde der Code so aussehen (Danke an herbivore für die Regex-Einführung)
Regex r=new Regex(@"(?<Name>[^\s]+)\s*(?<Pid>[^\s]+)\s*(?<Pri>[^\s]+)\s*(?<Thd>[^\s]+)\s*" + @"(?<Hnd>[^\s]+)\s*(?<Priv>[^\s]+)\s*(?<CPUTime>[^\s]+)\s*" + @"(?<ElapsedTime>[^\s]+)\s*");
Match m = r.Match("OUTLOOK 772 8 27 760 17084 0:00:11.468 2:32:39.954");
foreach (string key in new string[]{"Name","Pid","Pri", "Thd", "Hnd", "Priv","CPUTime", "ElapsedTime"})
{
Group g=m.Groups[key];
if (g!=null && g.Captures.Count>0)
{
TreeNode ndGroup=new TreeNode(key);
TreeNode ndValue=new TreeNode(g.Value);
ndGroup.Nodes.Add(ndValue);
this.treeResult.Nodes.Add(ndGroup);
}
}
PS: Die Formatierung ist mir jetzt schnuppe... habe Hunger und weg ....
Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...
Statt mit \s, muss mit \s+ gesplittet werden. Das sollte es gewesen sein.
Original von Pulpapex
Statt mit :::
Thx Pulpalex.... da war ich wohl nicht der einzige mit Hunger.... komischerweise schluckt das Forum die Backslashes nicht jedesmal..
Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...