使用 Powershell 替换 CSV 中的变量

Replace variable in CSV using Powershell

我每周都会生成一个混乱的 CSV 文件。这就是我的开头:

Company,Division,Department,Location,Job Title,Username
1-Acme INC,9000-CSD,6003-CSD IT,2-Downtown,IT Technician,user1
1-Acme INC,9000-CSD,6002-CSD HR,2-Downtown,HR Generalist,user2

我真正想要的是:

Company,Division,Department,Location,Job Title,Username
Acme INC,CSD,CSD IT,Downtown,IT Technician,user1
Acme INC,CSD,CSD HR,Downtown,HR Generalist,user2

基本上我只想删除该字段的“[numeric]-”部分。我搜索了高低,发现了用 powershell 替换 CSV 字符串的不同变体,但没有找到使用 powershell 替换 CSV 中的变量文本的正确语法。

这就是我目前所拥有的。当我检查输出时,没有任何改变。

$csv = Import-Csv .\test.csv
$csv | %{ $_ -replace "^[0-9]+-"}
$csv| Export-Csv .\test.csv -NoTypeInformation -Force

如有任何帮助,我们将不胜感激!

您需要使用:

$csv = get-content .\test.csv
$csv = $csv -replace "[0-9]+-", ""
$csv | out-file .\test.csv

或者第 2 行可能只是:

$csv = $csv -replace "[0-9]+-"