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
Please also mark the comments that contributed to the solution of the article
Content-Key: 286820
Url: https://administrator.de/contentid/286820
Printed on: April 24, 2024 at 07:04 o'clock
2 Comments
Latest comment
$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