Powershell Array用逗号分隔字符串

Eri*_*ric 18 arrays string powershell join

我有一个数组,我需要输出到逗号分隔的字符串,但我还需要引号"".这就是我所拥有的.

$myArray = "file1.csv","file2.csv"
$a = ($myArray -join ",")
$a
Run Code Online (Sandbox Code Playgroud)

结果输出 $a 结束

file1.csv,file2.csv
Run Code Online (Sandbox Code Playgroud)

我想要的输出是

"file1.csv","file2.csv"
Run Code Online (Sandbox Code Playgroud)

我怎么能做到这一点?

Syp*_*int 20

干得好:

[array]$myArray = '"file1.csv"','"file2.csv"'
[string]$a = $null

$a = $myArray -join ","

$a
Run Code Online (Sandbox Code Playgroud)

输出:

"file1.csv","file2.csv"
Run Code Online (Sandbox Code Playgroud)

你只需要有办法逃脱".所以,你可以通过绕过它来做到这一点'.


abi*_*lon 17

我知道这个线程已经老了,但这里有其他解决方案

$myArray = "file1.csv","file2.csv"

# Solution with single quote
$a = "'$($myArray -join "','")'"
$a
# Result = 'file1.csv','file2.csv'

# Solution with double quotes
$b = '"{0}"' -f ($myArray -join '","')
$b
# Result = "file1.csv","file2.csv"
Run Code Online (Sandbox Code Playgroud)

  • 超级干净并且适用于输出数组,这是最好的答案。 (2认同)

Jas*_*n S 13

如果使用 PowerShell Core(当前为 7.1),则可以使用Join-String
这在 PowerShell 5.1 中不可用

$myArray | Join-String -DoubleQuote -Separator ','
Run Code Online (Sandbox Code Playgroud)

输出:

"file1.csv","file2.csv"
Run Code Online (Sandbox Code Playgroud)