PowerShell string.replace - PullRequest
       2

PowerShell string.replace

0 голосов
/ 11 марта 2019

Я хочу прочитать два CSV-файла в массив. Мне нужно из файла один только первый столбец, а из файла два только последний столбец. Хотя я хочу исключить все повторяющиеся записи и каждый элемент массива без символа "(". Оба файла содержат немецкие умлауты, такие как "ä ö ü ß".

Вот мой сценарий:

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Bypass -Force

#Define variables
$Arrayusername_ads_unique = New-Object System.Collections.ArrayList
$Arrayusername_ads_unique_new = New-Object System.Collections.ArrayList
$Arrayusername_ads_value = New-Object System.Collections.ArrayList
$Arrayusername_Personalamt_unique  = New-Object System.Collections.ArrayList
$Arrayusername_Personalamt_unique_value = New-Object System.Collections.ArrayList
$Arrayusername_Personalamt_unique_new  = New-Object System.Collections.ArrayList
$Arrayusername_ads_unique_new = New-Object System.Collections.ArrayList

#Convert CSV-File User-ads to UTF8 and import into array
$Arrayusername_ads_unique = Get-Content -Path "C:\Temp\Userabgleich\Benutzer_ADS-utf8.csv"
$Arrayusername_ads_unique | Out-File C:\Temp\Userabgleich\Array_ads_temp.csv -Append -Encoding utf8
$Arrayusername_ads_unique_new = Import-Csv -Delimiter:';' -Header "Name","Amt" -Path "C:\Temp\Userabgleich\Array_ads_temp.csv" |
                                Where-Object {$_.Name -like "*(*"} |
                                Sort-Object -Unique -Property Name, Amt

foreach ($value in $Arrayusername_ads_unique) {
     $value_new = $value.Replace("  ", "%")

     $value_new | Out-File C:\Temp\Userabgleich\Array_ads_value.txt -Append -Encoding utf8
}

Сначала я преобразовал CSV в UTF-8, чтобы получить правильные преобразованные ä, ö и ü.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...