拆分字符串并将第一个值赋给powershell中的变量

时间:2016-05-23 19:28:58

标签: powershell powershell-v3.0

在下面的示例中:如何一次将每个值分配给单个变量$ var?

$string ="A;B;C"
$Data=$string.split (";")
$Data
A
B
C

5 个答案:

答案 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 

}