다음의 반대 기능은 무엇입니까?PowerShell에서 Split의 반대 (비 cmdlet)
$tmp = $domain.split(".")
즉, 어떻게 배열로 문자열을 전송합니까? 나는 "가입"한다고 들었다. 그러나 나는 그것이 작동하도록 할 수 없다.
퀘스트가 아닌 비 cmdlet은 PowerShell v1 및 모든 이전 시스템에서 작동해야합니다.
다음의 반대 기능은 무엇입니까?PowerShell에서 Split의 반대 (비 cmdlet)
$tmp = $domain.split(".")
즉, 어떻게 배열로 문자열을 전송합니까? 나는 "가입"한다고 들었다. 그러나 나는 그것이 작동하도록 할 수 없다.
퀘스트가 아닌 비 cmdlet은 PowerShell v1 및 모든 이전 시스템에서 작동해야합니다.
$result = [string]::join(".", $array)
A는 PowerShell에서 연산자를 결합있다 :
이 (V2에서 소개)에 가입 연산자와 .NET 방법에 참여하는 것 외에도$tmp -join "."
, 당신은 또한 특수 변수 $OFS의 값을 변경할 수 있습니다 점에 (Ouptut 필드의 separator) (기본 값은 공간) 및 따옴표로 TMP를 둘러싸 : 위의 예에서
PS> $tmp = "foo.domain.com".split(".")
PS> & {$ofs='.';"$tmp"}
foo.domain.com
을 나는 창이 않도록하는 스크립트 블록에서 $ OFS 변경 전역 범위 (scriptblocks는 중첩 된 범위를 만듭니다)
Ah Shay, 자습서를 많이 읽었으며 실망시키지 말아야합니다! 좋은 일꾼을 계속 지켜라. -이 주제에서는 PHP의 "implode()"기능과 같은 간단한 기능이 없다는 것에 놀랐습니다. 우리가 살고있는 세상. –
감사합니다. @KarlMorrison, Implode 함수에 익숙하지 않지만 다음 함수를 만들 수 있습니다. function implode ($ array, $ delimiter) {$ array -join $ delimiter}; implode $ tmp '.' –
스크립트 블록은 중첩 된 범위를 만들지 않습니다. – Nacht
Works Perfect! 고맙습니다! –
이것은 녹색 체크 표시가 있지만, 존 Z의 대답도 참조하십시오. –