2012-06-12 38 views
3

以下的相反功能是什么?PowerShell中的Split对面(非cmdlet)

$tmp = $domain.split(".") 

换句话说,我该如何将一个数组传递给一个字符串。我听说过“加入”,但我无法让它工作。

非cmdlet,非任务,这必须与PowerShell v1和所有旧系统一起使用!

回答

4
$result = [string]::join(".", $array) 
+0

Works完美!谢谢! –

+0

这个人有绿色的复选标记,但也请参阅jon Z的回答。 –

13

有PowerShell中的一个连接操作:

$tmp -join "." 
3

除了加入运营商(在v2中引入)和.NET加入方法,你也可以改变特殊变量$OFS的价值(Ouptut字段分隔符)到一个点(默认值是一个空格)并包围TMP在引号:

PS> $tmp = "foo.domain.com".split(".") 
PS> & {$ofs='.';"$tmp"} 
foo.domain.com 

在上面的例子中我的脚本块,以防止它从樟宜改变$ OFS ng(脚本块创建嵌套范围)

+0

啊,谢伊,我读过很多你的教程,我必须说你不要失望!保持良好的工作人员。 - 关于这个问题,我很惊讶没有像PHP的“implode()”函数那样简单的函数。我们生活在一个什么样的世界里。 –

+0

感谢@KarlMorrison,我不熟悉Implode函数,但可以创建一个:function implode($ array,$ delimiter){$ array -join $ delimiter}; implode $ tmp'。' –

+1

脚本块不会创建嵌套范围。 – Nacht