PowerShell Array Replace()
Hallo,
ich habe ein Array, dass derzeit Daten aus einer CSV Datei importiert. Der Aufbau der CSV sieht so aus:
Ich möchte nun den Namen Peter durch Max ersetzen. Dabei möchte ich verhindern, dass der Kommentar geändert wird. Bisher habe ich das bei einem einfachen Array immer durch die Methode Replace() angewandt, aber wenn ich das mit dem Array mache, wird nicht nur der Name sondern auch der Kommentar geändert.
Wie kann ich die Methode Replace nur auf den Namen anwenden?
Gruß
derhoeppi
ich habe ein Array, dass derzeit Daten aus einer CSV Datei importiert. Der Aufbau der CSV sieht so aus:
Name;Versuch;Kommentar
Max;2;k.A.
Ingrid;2;k.A.
Peter;2;Peter ist der neue Max
Ich möchte nun den Namen Peter durch Max ersetzen. Dabei möchte ich verhindern, dass der Kommentar geändert wird. Bisher habe ich das bei einem einfachen Array immer durch die Methode Replace() angewandt, aber wenn ich das mit dem Array mache, wird nicht nur der Name sondern auch der Kommentar geändert.
$arr = $arr -replace("Peter", "Max")
Wie kann ich die Methode Replace nur auf den Namen anwenden?
Gruß
derhoeppi
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 286820
Url: https://administrator.de/contentid/286820
Ausgedruckt am: 24.11.2024 um 03:11 Uhr
2 Kommentare
Neuester Kommentar
$arr = @'
Name;Versuch;Kommentar
Max;2;k.A.
Ingrid;2;k.A.
Peter;2;Peter ist der neue Max
'@ | convertfrom-csv -Delimiter ";"
$arr | %{$_.Name = $_.Name -replace '^Peter$','Max'}
$arr
oder alternativ auch:
$arr | ?{$_.Name -eq 'Peter'} | %{$_.Name = 'Max'}
$arr