请指导我如何从b到z打印字母 在for循环中。 我想要下面的东西:
for x in {b..z} {
testdata.$x }
我尝试了以下但有点混乱我只想用我的testdata打印a..z,我应该把testdata放在哪里
$alphabet = @()
for ([byte]$c = [char]'b'; $c -le [char]'d'; $c++)
{
$alphabet += [char]$c
}
[String]::Join(", ", $alphabet)
Tq
答案 0 :(得分:1)
这样的事情:
for ([byte]$c = [char]'b'; $c -le [char]'z'; $c++)
{
"testdata.$([char]$c)"
}
答案 1 :(得分:1)
[char]
类型加速器将整数值转换为其等效的ASCII字符(从技术上讲,它实际上是ANSI字符等价物,但我们现在忽略它,因为它与手头的事情无关)。
如果您查看ASCII table,您会看到大写字母AZ的范围是65到90,小写字母az是从97到122.用于构建字符“b”到“z”的列表“使用range operator获取整数值98到122的列表,并将它们转换为[char]
。
$alphabet = 98..122 | ForEach-Object { [char]$_ }
答案 2 :(得分:1)
您的原始代码,141个字符。
Autosvet的代码,52个字符。
Ansgar Wiecher的代码,49个字符
编写字母表并将其转换为字符数组更短更清晰:
$alphabet = [char[]]'bcdefghijklmnopqrstuvwxyz'
e.g
$alphabet | foreach-object {
"testing-$_"
}