我想将格式化的字符串输出到控制台。我有一个字符串变量和一个字符串数组变量。
当我这样做时:
$arr = "aaa","bbb"
"test {0} + {1}" -f "first",$arr
输出是这样的:
test first + System.Object[]
但我需要输出为:
test first + aaa,bbb
或者类似的东西...
最佳答案
几个选项:
ToString()
实现(只打印类名):PS> 'test {0} + {1}' -f 'first',($arr -join ',')
test first + aaa,bbb
PS> $first = 'first'
PS> "test $first + $arr"
test first + aaa bbb
您可以通过设置
$OFS
来更改使用的分隔符, 默认情况下是一个空格:PS> $OFS = ','
PS> "test $first + $arr"
test first + aaa,bbb
$OFS
的注释)PS> 'test {0} + {1}' -f 'first',(''+$arr)
test first + aaa bbb
这也强制数组首先转换为单个字符串。
关于arrays - 如何在powershell中将string.format与字符串数组一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10616831/