Laden...

Mit Regex nach Sonderzeichen suchen und abschneiden

Erstellt von lhyn vor 6 Jahren Letzter Beitrag vor 6 Jahren 1.902 Views
L
lhyn Themenstarter:in
136 Beiträge seit 2015
vor 6 Jahren
Mit Regex nach Sonderzeichen suchen und abschneiden

Hallo zusammen,

Erstmal danke für das Regex- Tutorial 😁

Habe dann doch mal ne Frage:

Ich möchte einen String "beschneiden" und nicht auf string.Trim() setzen....



            string folderPath = $"{pathToDesktop}/{folderName}";


Wie kann ich nun via Regex die ersten beiden Ordner abschneiden und den beschnittenen String zurückerhalten?

Ich danke Euch für die Unterstützung.

Gruss Lhyn

6.911 Beiträge seit 2009
vor 6 Jahren

Hallo lhyn,

dass das Forum kein Pattern-Generator ist, hast du vllt. noch nicht mitbekommen 😉
Zeig mal was du probiert hast und dann können wir dich auf den rechten Weg führen.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

T
2.224 Beiträge seit 2008
vor 6 Jahren

Bevor du da was mit RegEx rumwerkelst, nimm die DirectoryInfo Klasse und nimmt dort die Parent Property.
Dann hast du das sauber ohne RegeEx gefummel.

Link:
DirectoryInfo.Parent-Eigenschaft

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

L
lhyn Themenstarter:in
136 Beiträge seit 2015
vor 6 Jahren

Hallo zusammen,

Das ist richtig und mir auch bewusst...jedoch ist jeder Anfang schwer 🙂

@T-Virus
Ich habe die Ordnerstruktur nur als Beispiel gewählt, weshalb DirectoryInfo nicht möglich ist.

Gruss Lhyn

T
2.224 Beiträge seit 2008
vor 6 Jahren

Also handelt es sich nicht um Pfade oder warum sollte DirectoryInfo nicht klappen?
Im einfachsten Fall, willst du nur an den nächst höheren Teilpfad.
Kannst du natürlich auch per String.Split lösen.
Dann brauchst du ja nur das Vorletzte Element.
Bin mir ohne Beispiel, nicht ganz Sicher ob RegEx hier ein sinnvoller Ansatz wäre.
Kannst du außer deinem Pfad Beispiel vielleicht ein passendes Beispiel nennen?

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

L
lhyn Themenstarter:in
136 Beiträge seit 2015
vor 6 Jahren

Hallo T-Virus,

Fälschlicherweise habe ich im erste Post string.trim() geschrieben, wie Du richtig schreibst ist es momentan via string.split() gelöst.

Das ist richtig, es handelt sich nicht um Dateipfade sonder um eine Gebäudestruktur...ein Beispiel dazu:

Register.Gebäude 01.SGK01 Schaltschrank.Einstellungen.Trend_AN

Dabei möchte ich "Register.Gebäude 01." abschneiden...
-> Die ersten beiden Strukturen sind immer vorhanden, haben einfach nicht immer die selbe Bezeichnung.
-> Der delimiter ist also auch kein "/" sondern ein "."

Momentane Lösung:
-> Wobei ich dann einfach die ersten zwei strings nicht benutze und wieder Punkte einfüge



        private string[] SplitWithDelimiter(string str, string delimiter)
        {
            return str.Split(delimiter.ToCharArray());
        }


Wollte mich daran mit Regex versuchen und bin gescheitert 😁

Gruss lhyn

T
2.224 Beiträge seit 2008
vor 6 Jahren

Hier könntest du mit IndexOf arbeiten und beim zweiten Punkt dann den Teil per Substring rausschneiden.
Oder du könntest einfach dein Array nach dem zweiten Element wieder zusammen setzen.
Natürlich müsste dann der Aufbau deiner Strings immer korrekt sein, damit es sauber funktioniert.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.