0
我想分配/分割出一個字符串分配給變量。每排的長度是隨機的,所以我有點不知所措。謝謝您的幫助。Powershell字符串分配行到變量
-String-
公司1
僱員1
僱員2
員工3
公司2
僱員1
僱員2
員工3
欲分配的每個線到一個變量。 $ a =「公司1」$ b =「員工1」等。這個字符串中唯一的穩定變量是每行數據是一個不同的變量。每條線的長度是未知的。
再次感謝!
我想分配/分割出一個字符串分配給變量。每排的長度是隨機的,所以我有點不知所措。謝謝您的幫助。Powershell字符串分配行到變量
-String-
公司1
僱員1
僱員2
員工3
公司2
僱員1
僱員2
員工3
欲分配的每個線到一個變量。 $ a =「公司1」$ b =「員工1」等。這個字符串中唯一的穩定變量是每行數據是一個不同的變量。每條線的長度是未知的。
再次感謝!
如果你真的需要爲你的字符串中的每一行不同的變量,然後用New-Variable
在一個循環:
$str = 'Company 1
Employee 1
Employee 2
Employee 3
Company 2
Employee 1
Employee 2
Employee 3'
# to know how many variables were created we will put them into array
$variables = @()
$i = 0
foreach ($row in ($str -split [Environment]::NewLine)) {
# create new variable from row's value
New-Variable -Name "row$i" -Value $row
# and create a member of array
$variables += [pscustomobject]@{Name = "row$i"; Value = $row}
$i++
}
Write-Host "Total: $i"
foreach ($var in $variables) {
Write-Host $var.Name $var.Value
}
# now we can get value from a variable
Write-Host $row1
# or from array
Write-Host $variables[1].Name $variables[1].Value
但對項目的集合操作實在是simplier使用數組和其他收集類型沒有創建每個項目的變量:
$rows = @()
foreach ($row in ($str -split [Environment]::NewLine)) {
$rows += $row
}
Write-Host "Total rows: $rows.Count"
# get the first row
$rows[0]
到目前爲止您有什麼嘗試過嗎?你的字符串是換行符的字符串?你希望每個值都是自己的變量?如果有更好的方法,我很好奇你如何處理這些信息。但像我的第一個問題。你有什麼嘗試? – Matt