PowerShell&#39的String.Replace的返回值

时间:2013-02-21 19:56:21

标签: powershell return-value

考虑:

$str = 'My {token} string'

$newStr = $str.Replace('{token}', 'value')
$newStr
My value string

function strReplace ($str, $rval) { $str.Replace('{token}', $rval) }
$newStr = strReplace($str, 'value')
$newStr
My  string
value

即使string.Replace返回单个字符串,object[]也会显示在返回管道中。为什么?有没有办法获得明显的回报值?

1 个答案:

答案 0 :(得分:3)

这是因为你传入一个数组作为函数中$str的参数。你需要像这样调用PowerShell函数(没有括号,没有逗号分隔参数):

$newStr = strReplace $str 'value'