簡體   English   中英

Powershell - output 一個 foreach 循環到一行

[英]Powershell - output a foreach loop to one line

我正在嘗試獲取我的 foreach 循環的 output 並將該數組應用於一行讀取的字符串。 到目前為止,這是我的代碼:

$upper = 65..90
$lower = 97..122
foreach ($i in $upper)
{
[char]$i 
}
foreach ($i in $lower)
{
[char]$i
}

我猜我需要將腳本塊的 output 轉換為一個變量並使用 -join 選項,但我到處都在努力尋找如何構造它。 任何指導將不勝感激。

對於這種特殊情況, ForEach(type convertToType)非常有用,這是獲取小寫和大寫字典字符串的一種很酷的方法:

$lowerDict = [string]::new(([int][char]'a'..[int][char]'z').ForEach([char]))
$upperDict = $lowerDict.ToUpper()

如果可以訪問PowerShell Core,可以簡化為:

$lowerDict = [string]::new('a'..'z')
$upperDict = $lowerDict.ToUpper()

至於你在努力做什么,如何用你目前擁有的東西(一個foreach循環)來做。 您可以先從循環中捕獲所有 output:

$upper = foreach ($i in 65..90) { [char]$i }

現在, $upper是一個字符數組,然后將其轉換為字符串,您可以使用-join (猜對了)或[string]::new(...)就像我在上一個示例中所做的那樣:

$upperDict = -join $upper
# OR
$upperDict = [string]::new($upper)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM