使用 Powershell 从 .txt 中删除字符串时遇到问题

Having issues removing string from .txt using Powershell

目的:我目前正在阅读信息并尝试将其格式化为三列CSV文件以供将来处理(“部分阅读”和“分组部分”均成功)。但是在对 CSV 的列进行分组 part\building 之前,我希望删除掉掉数据三元组的特定单词 (headers)(这是因为当我遍历数据时,将 3 个项目放在一个行,然后在重复之前追加一个换行符,直到整个文件被读完)。

问题:我遇到的问题不是替换,而是使用 PowerShell

从 .txt 文件中删除 string/element

我当前用于将字符串替换为空字符串的代码:

$Path = "C:\some.txt"
$Content = [System.IO.File]::ReadAllLines($Path)
foreach ($string in (Get-Content "C:\strings_i_wish_to_remove.txt"))
{
$Content = $Content -replace $string, ""
}
$Content | Set-Content -Path $Path

这个代码片段可以完美地用一个空字符串替换我想删除的所有单词;但问题是,不是完全删除元素的存在,而是现在是一个仍在处理的空字符串。

添加替换部分前的数据:

"Data title", "value 1", "value 2"
"Data title", "value 1", "value 2"
"Data title", "value 1", "value 2"
"SECTION HEADER", "Data title", "value 1"
"value 2", "Data title", "value 1"
"value 2", "Data title", "value 1"
"value 2", "Data title", "value 1"

我添加替换部分后的数据:

"Data title", "value 1", "value 2"
"Data title", "value 1", "value 2"
"Data title", "value 1", "value 2"
"", "Data title", "value 1"
"value 2", "Data title", "value 1"
"value 2", "Data title", "value 1"
"value 2", "Data title", "value 1"

上图是我的数据全部处理完成后的最终结果;如您所见,如果“SECTION HEADER”被完全删除,它将正确对齐而没有任何偏移...

因此,是否可以从文件中完全删除所需的单词,而不会留下任何残留物仍然干扰后续处理步骤?

非常感谢任何帮助

发生这种情况是因为它也将 "" 视为字符串而不是特殊字符或符号,您还需要将其包含在替换语句中,例如

`

$Path = "d:\some.txt"
$Content = [System.IO.File]::ReadAllLines($Path)
$list=Get-Content "d:\strings_i_wish_to_remove.txt"
foreach ($string in $list)
{
$Content = $Content -replace $string, $null
}

//added line below to replace extra text.
$Content= $Content -replace '"",', $null

$Content | Set-Content -Path $Path

`