объект, возвращаемый при использовании Select-String
, является объектом MatchInfo. это может вызвать проблемы при попытке использовать результат в виде строки. Вот один из способов справиться с этим ... и проанализировать вывод в $ vars.
вы можете предпочесть разобрать строку в PSCustomObject. Если у вас есть проблемы с этим и вам нужна помощь, пожалуйста, спросите. [ ухмылка ]
код ...
# fake reading in a text file
# in real life, use Get-Content
$InStuff = @'
;********** Information **********
;Date=190303
;Class_1=US13091990#1Joyce#2Female
;Phone_Number=98233215.00
;School=St.Joseph\JuniorHighSchool
;ID=F1
;***********************************
'@ -split [environment]::NewLine
$ThingToFind = 'Class_1'
$FoundString = $InStuff |
Select-String -SimpleMatch $ThingToFind
# Select-String returns a MatchInfo object,
# so it needs to be converted to a regular string before using it as such
$ID_Number, $Name, $Gender = $FoundString.ToString().Split('=')[1].Split('#')
$Name = $Name.Trim('1')
$Gender = $Gender.Trim('2')
$FoundString.ToString()
$ID_Number
$Name
$Gender
вывод ...
;Class_1=US13091990#1Joyce#2Female
US13091990
Joyce
Female