Arrays Powershell替换foreach循环内数组中的字符串

Arrays Powershell替换foreach循环内数组中的字符串,arrays,powershell,replace,foreach,Arrays,Powershell,Replace,Foreach,我有一个包含产品的CSV文件,这个CSV文件有一个品牌栏和一个类别栏。我正在尝试运行foreach循环,从categories列中删除品牌名称 $products = import-csv X:\products.csv $brands = $products.Brand | sort | select -unique foreach ($item in $products) { $item.categories = $item.categories.Replace("Coming Soo

我有一个包含产品的CSV文件,这个CSV文件有一个品牌栏和一个类别栏。我正在尝试运行foreach循环,从categories列中删除品牌名称

$products = import-csv X:\products.csv
$brands = $products.Brand | sort | select -unique

foreach ($item in $products) {
  $item.categories = $item.categories.Replace("Coming Soon","")
  $item.categories = $item.categories.Replace($brands,"")
}
“即将到来”被删除,但$brands中包含的所有品牌名称仍然保留


我哪里出错了?

现在,您正试图从每个
类别
属性中删除所有品牌名称

foreach
循环中引用
$item.Brand
,以获取相应的:

foreach($products中的项目){
$item.categories=$item.categories.Replace(“即将推出”和“”)
$item.categories=$item.categories.Replace($item.Brand,“”)
}

太棒了,这么简单的事情我已经把它复杂化了!所以我很清楚我做错了什么-它不起作用是因为它在一个酒店里寻找200多个品牌?