在下面的示例中:如何一次将每个值分配给单个变量$ var?
$string ="A;B;C"
$Data=$string.split (";")
$Data
A
B
C
答案 0 :(得分:5)
您可以在$string ="A;B;C"
$a, $b, $c = $string -split ';'
# $a = A
# $b = B
# $c = B
字符串时分配多个变量:
$string ="A;B;C"
$Data = $string -split ';'
# $Data[0] = A
# $Data[1] = B
# $Data[2] = B
如果你想要一个数组,你已经做对了:
$Data.GetType()
正如您通过调用$Data
所看到的那样,String[]
已经是IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String[] System.Array
:
{{1}}
答案 1 :(得分:3)
您可以将它们存储在带循环的数组中
$string ="A;B;C"
$Data=$string.split (";")
$var = @{}
$i = 0
foreach($item in $Data){
$var[$i] = $item
$i++
}
$var[0]
$var[1]
$var[2]
编辑:我很笨,$data
在字符串拆分后已经是一个数组,你可以调出$data[0]
,这将是你的第一个变量,或者:
$string ="A;B;C"
$Data=$string.split (";")
$var = $Data[0]
答案 2 :(得分:2)
您也可以在左侧使用多个变量:
$string = "A;B;C"
$D1,$D2,$D3 = $string.split(";")
答案 3 :(得分:0)
如果您只对字符串拆分操作中的 first 输出真正感兴趣(如标题所示),您可以通过将剩余输出分配给{{{ 1}}:
$null
由于无论如何都要丢弃剩余的值,您可以要求$first,$null = 'A;B;C' -split ';'
运算符只拆分一次:
-split
答案 4 :(得分:0)
我使用下面的脚本,它工作。 $ DBNAME = $ DBList.split( “;”)
Foreach($ dbname中的$ item) {
Backup-Sqldatabase -ServerInstance $server -Database $item -BackupFile $backupfile
}