将文本文件中的字符串转换为powershell中的数组

时间:2015-09-18 12:08:04

标签: powershell

我认为这很容易,但我现在无法弄明白,继续搜索。 如何从文本文件创建对象,哈希表或数组。文本文件是:

FN:Jan Jansen
Email:jj@example.com
FN: Name Two
Email:name@something.co

感谢。 Bluraydisk

2 个答案:

答案 0 :(得分:2)

如果你想在name=email

的哈希表中转换你的txt文件
$a = @()
$b = @{}

,((gc .\myfile.txt -ReadCount 2) ) | % { $a+=$_ }

 $a | % { $b.add( ($_[0] -replace 'FN:').trim() , ($_[1] -replace 'Email:').trim() )}

$b # is the final hastable name=email

Name                           Value                                                                                                                                           
----                           -----                                                                                                                                           
Name Two                       name@something.co                                                                                                                               
Jan Jansen                     jj@example.com   

答案 1 :(得分:1)

使用ConvertFrom-StringData

创建对象
#Create test file:
(@'
FN:Jan Jansen
Email:jj@example.com
FN: Name Two
Email:name@something.co
'@).split("`n") |   
foreach {$_.trim()} | 
set-content .\testfile.txt

#Code sample using test file:
Get-Content .\testfile.txt -ReadCount 2 |
ForEach-Object {
  New-Object PSObject -Property  ( ConvertFrom-StringData ($_ | Out-String).replace(':','=') )
} | Format-Table -AutoSize


Email             FN        
-----             --        
jj@example.com    Jan Jansen
name@something.co Name Two