Teile eines Strings entfernen
Ich würde gerne die Domäne und den hinteren Teil entfernen lassen mit "Remove".
Leider klappt es nicht immer, da der hintere Teil unterschiedlich lang ist:
"Domain\01_Benutzer_Gruppen\Neues_FS\01_01\01_01_Grp"
"Domain\01_Benutzer_Gruppen\Neues_FS\02_01\02_01_Gruppe"
Ich möchte aber nur dieses 01_01 als Dateiname haben.
Kann ich mit "Remove" oder einem anderen Befehl ab einer bestimmten Position Zeichen entfernen lassen, ohne den 2. Parameter angeben zu müssen?
Wenn ich nur einen angebe, möchte er auch nur 6 Zeichen nach der Position entfernen, was entweder zu lang oder zu kurz ist.
$FileBaseName = $_.OU.replace('Domain\01_Benutzer_Gruppen\Neues_FS\','')
$FileBaseName.Remove(6,20)
Leider klappt es nicht immer, da der hintere Teil unterschiedlich lang ist:
"Domain\01_Benutzer_Gruppen\Neues_FS\01_01\01_01_Grp"
"Domain\01_Benutzer_Gruppen\Neues_FS\02_01\02_01_Gruppe"
Ich möchte aber nur dieses 01_01 als Dateiname haben.
Kann ich mit "Remove" oder einem anderen Befehl ab einer bestimmten Position Zeichen entfernen lassen, ohne den 2. Parameter angeben zu müssen?
Wenn ich nur einen angebe, möchte er auch nur 6 Zeichen nach der Position entfernen, was entweder zu lang oder zu kurz ist.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 372725
Url: https://administrator.de/contentid/372725
Ausgedruckt am: 22.11.2024 um 16:11 Uhr
17 Kommentare
Neuester Kommentar
dann musst du halt noch eine Regel finden, nach der die Ordner benannt wurden, um die überflüssigen Daten weg zu schmeissen.
Sind das immer 2Zahlen_2Zahlen ? Dann lies die ersten 5 stellen davon.
Ist das Immer "Grp" oder "Gruppe" hinten? Dann schmeiss die Strings raus.
Da ich das Regelwerk daran nicht kenne, werde ich jetzt nicht Rätsel raten.
Sind das immer 2Zahlen_2Zahlen ? Dann lies die ersten 5 stellen davon.
Ist das Immer "Grp" oder "Gruppe" hinten? Dann schmeiss die Strings raus.
Da ich das Regelwerk daran nicht kenne, werde ich jetzt nicht Rätsel raten.
Moin,
guckst Du hier:
https://www.windowspro.de/script/regulaere-ausdruecke-regex-powershell-v ...
(Für Dich besonders interessant der Teil mit Suchen und Ersetzen.)
LG
Erik
guckst Du hier:
https://www.windowspro.de/script/regulaere-ausdruecke-regex-powershell-v ...
(Für Dich besonders interessant der Teil mit Suchen und Ersetzen.)
LG
Erik
Das Problem ist, dass der TO eigentlich gar nichts ersetzen will... Es war nur der einzige Weg, der ihm bekannt gewesen ist, das Problem anzugehen.
Zitat von @oesi1989:
Gibt es denn einen Befehl, womit ich einen bestimmten Teil eines Strings auslesen und in eine Variable übergeben kann?
Sag mal willst du mich ärgern oder was?Gibt es denn einen Befehl, womit ich einen bestimmten Teil eines Strings auslesen und in eine Variable übergeben kann?
$str = "Domain\01_Benutzer_Gruppen\Neues_FS\01_01\01_01_Grp"
$value = $str.split('\')[-2]
$value
weil ich in der ersten Antwort in diesem Thread dir eine komplette Lösung gepostet habe. Vorhin kam noch was elegantes von @136037. Und du nimmst natürlich die mit Abstand unflexibelste Lösung...
Zitat von @Kraemer:
Das Problem ist, dass der TO eigentlich gar nichts ersetzen will... Es war nur der einzige Weg, der ihm bekannt gewesen ist, das Problem anzugehen.
Das Problem ist, dass der TO eigentlich gar nichts ersetzen will... Es war nur der einzige Weg, der ihm bekannt gewesen ist, das Problem anzugehen.
Das Problem ist, dass der TO die Frage schon mindestens dreimal in verschiedener Form gestellt hat. ;) In dem Artikel steht auch drin, warum und wie Dein Vorschlag oben funktioniert. Er soll mal lesen und verstehen lernen. ;)
Hallo,
Warum denn? Es gibt doch dieses nette Forum im Internet (wie war gleich noch der Name?) wo ihm die Arbeit abgenommen wird
Gruß,
Peter
Warum denn? Es gibt doch dieses nette Forum im Internet (wie war gleich noch der Name?) wo ihm die Arbeit abgenommen wird
Gruß,
Peter