我正在尝试转换一个看起来像这样的字符串,
2,3,4,5,6,20..30
Run Code Online (Sandbox Code Playgroud)
到整数数组。这是我目前拥有的代码:
[string]$a = "2,3,4,5,6,7"
[array]$b = $a.split(",")
[array]$c = foreach($number in $b) {([int]::parse($number))}
Run Code Online (Sandbox Code Playgroud)
哪个有效,但不适用于20..30的范围。我该如何工作?
一句(只是为了好玩):
$c = "2,3,4,5,6,7,10..30".split(',') | % {iex $_}
Run Code Online (Sandbox Code Playgroud)
如果方法调用失败,您可以使用Invoke-Expression
cmdlet 来解释该10..30
位[int]::Parse()
。
这是一个完整的工作示例。
[string]$a = "2,3,4,5,6,7,10..30";
[array]$b = $a.split(",");
[array]$c = foreach($number in $b) {
try {
[int]::parse($number)
}
catch {
Invoke-Expression -Command $number;
}
}
$c;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10591 次 |
最近记录: |