考虑:
$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[]
也会显示在返回管道中。为什么?有没有办法获得明显的回报值?
答案 0 :(得分:3)
这是因为你传入一个数组作为函数中$str
的参数。你需要像这样调用PowerShell函数(没有括号,没有逗号分隔参数):
$newStr = strReplace $str 'value'