[英]Powershell - How to remove trailing spaces from a list of groups a user is in
[英]How can I remove spaces from this PowerShell array?
我正在嘗試從Powershell中獲取所有ASCII數字和字母,以便稍后用作鍵。
到目前為止,我的代碼如下所示:
[char[]] $keyArray = @()
for($i = 65;$i -le 122;$i++)
{
if($i -lt 91 -or $i -gt 96)
{
$keyArray += [char]$i
}
}
for($i = 0; $i -le 9; $i++)
{
$keyArray += ("$i")
}
Write-Host [string]$keyArray
但是,當我將其寫出時(最后一行),我得到以下內容,每個字符之間都有空格:
ABCDEFGHIJKLMNOPQRSTU VWXYZ abcdefghijklmnopqrstu vwxyz 0 1 2 3 4 5 6 7 8 9
如何刪除這些空格?
您可以使用-join
運算符來-join
數組元素。 該運算符的二進制形式允許您指定自定義分隔符:
-join $keyArray
$keyArray -join $separator
如果確實有字符數組,則可以調用String
構造函數:
New-Object String (,$keyArray)
[String]::new($keyArray) #PS v5
並且不使用數組加法。 它緩慢且不必要。 數組運算符@()
在大多數情況下足夠強大:
$keyArray = [char[]] @(
for($i = 65;$i -le 122;$i++)
{
if($i -lt 91 -or $i -gt 96)
{
$i
}
}
for($i = 0; $i -le 9; $i++)
{
"$i"
}
)
通過使用PowerShell范圍運算符,可以簡化代碼:
$keyArray = [char[]] @(
'A'[0]..'Z'[0]
'a'[0]..'z'[0]
'0'[0]..'9'[0]
)
如果您希望每行一個字符:
Write-Host ($keyArray | out-string)
如果要將所有字符放在一行上:
Write-Host ($keyArray -join '')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.