Powershell заменяет строку из массива внутри цикла foreach - PullRequest
0 голосов
/ 28 мая 2020

У меня есть файл CSV, содержащий товары, в этом файле CSV есть столбец для брендов и столбец для категорий. Я пытаюсь запустить foreach l oop, чтобы удалить названия брендов из столбца категорий.

$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,"")
}

"Скоро появится" удаляется, но все названия брендов, содержащиеся в $ brand все еще остаются.

Где я ошибаюсь?

1 Ответ

1 голос
/ 28 мая 2020

Прямо сейчас вы пытаетесь удалить все торговые марки из каждого свойства categories.

Ссылка $item.Brand внутри foreach l oop, чтобы получить соответствующий:

foreach($item in $products){
  $item.categories = $item.categories.Replace("Coming Soon","")
  $item.categories = $item.categories.Replace($item.Brand,"")
}
...