У меня есть текстовый файл "c: \ zz.txt", фрагмент которого выглядит следующим образом:
#N ABSA ALL ROUNDER FoF
#D UT-ABSAAG
#P 20190215 393.83 393.83 0.00
#N ABSA BALANCED FUND
#D UT-ABSABA
#P 20190215 432.28 432.28 0.00
#N COMMUNITY GILT
#D UT-COM-G
#P 20190215 151.21 151.21 8.59
Я хотел бы экспортировать его в файл .TXT в следующем формате:
UT_Name,UT_Code,Date,Value1,Value2,Vol
ABSA ALL ROUNDER FoF,UT-ABSAAG,20190215,393.83,393.83,0
ABSA BALANCED FUND,UT-ABSABA,20190215,432.28,432.28,0
COMMUNITY GILT,UT-COM-G,20190215,151.21,151.21,8.59
Мой код ниже
clear-Host
get-content -raw "c:\zz.txt" | % { $_ -replace '(#N)',"`r`n"} |% { $_ -replace '(#D|#P)',','}|Set-Content ZZ1.txt
Вывод:
ABSA ALL ROUNDER FoF, UT-ABSAAG, 20190215 393.83 393.83 0.00
ABSA BALANCED FUND, UT-ABSABA, 20190215 432.28 432.28 0.00
COMMUNITY GILT, UT-COM-G, 20190215 151.21 151.21 8.59
Проблема: проблема заключается в том, что набор данных "#P" в исходном наборе данных имеет фиксированную длинуэто означает, что я не могу просто заменить все пробелы запятыми, поскольку это также повлияет на имена полей "#N" и "#D", на которые я не хочу влиять.
Как выборочно заменить пробелы