Dies ist mein PowerShell-Code:
$Phones = @('iPhone 12', 'Samsung S5', 'Nokia 7')
$Manufs = @('US', 'South Korea', 'Finlandia')
$n = 0
$Phones | foreach {
"$($_) : $($Manufs[$n])"
$n++
}
Ausgabe:
iPhone 12: US
Samsung S5: South Korea
Nokia 7: Finlandia
So richten Sie Leerzeichen/Tabulatoren vor dem Tab aus, :
sodass Folgendes entsteht:
iPhone 12 : US
Samsung S5 : South Korea
Nokia 7 : Finlandia
Antwort1
Wenn duHolen Sie sich die Länge der längsten Zeichenfolgedann können Sie String-Interpolation mit Formatierung verwenden (Formatoperator-f
), vielleicht so etwas wie das hier:
$Phones = @('iPhone 12', 'Samsung S5', 'Nokia 7', 'Samsung Galaxy S II Epic 4G Touch')
$Manufs = @('US', 'South Korea', 'Finlandia', 'South Korea')
$maxLen = ($Phones | Measure-Object -Maximum -Property Length).Maximum
$formatString = "{0, -$maxLen} : {1}"
$n = 0
$Phones | foreach {
$formatString -f $_, $Manufs[$n]
$n++
}
Zu bekommen:
iPhone 12 : US
Samsung S5 : South Korea
Nokia 7 : Finlandia
Samsung Galaxy S II Epic 4G Touch : South Korea
Wenn Sie das erste Element in seiner „Spalte“ rechtsbündig ausrichten möchten, können Sie Folgendes verwenden:
$formatString = "{0, $maxLen} : {1}"
-
(Beachten Sie, dass darin kein steht ), um Folgendes zu erhalten:
iPhone 12 : US
Samsung S5 : South Korea
Nokia 7 : Finlandia
Samsung Galaxy S II Epic 4G Touch : South Korea