PowerShell에서 배열 객체를 문자열로 변환하는 방법

  1. 이중 인용부호를 사용하여 배열 객체를 문자열로 변환하기
  2. -join 연산자를 사용하여 배열 객체를 문자열로 변환하기
  3. 명시적 변환을 사용하여 배열 객체를 문자열로 변환하기
  4. 출력 필드 구분자 변수를 사용하여 배열 객체를 문자열로 변환하기
  5. [system.String]::Join() 함수를 사용하여 배열 객체를 문자열로 변환하기
  6. Out-String cmdlet을 사용하여 배열 객체를 문자열로 변환하기
  7. 결론
PowerShell에서 배열 객체를 문자열로 변환하는 방법

파워셸 스크립팅에서 데이터 조작은 종종 배열 객체를 문자열로 변환하는 것을 포함하며, 이는 다양한 시나리오에서 흔히 발생하는 작업입니다. 요소를 결합하여 표시하기 위해, 출력 형식을 지정하거나, 추가 처리를 위해 데이터를 준비할 때, 파워셸은 변환 프로세스를 간소화하기 위한 다양한 방법을 제공합니다.

이 문서에서는 이중 인용부호의 간단한 사용부터 -join 연산자, 명시적 변환, 출력 필드 구분자 변수, [system.String]::Join(), 및 Out-String cmdlet에 이르기까지 여러 접근 방식을 탐색합니다.

이중 인용부호를 사용하여 배열 객체를 문자열로 변환하기

배열 객체를 문자열로 변환하는 간단한 접근 방식은 이중 인용부호(" ")를 사용하는 것입니다.

파워셸에서 이중 인용부호는 문자열을 나타내는데 사용됩니다. 배열 변수에 적용할 때, 이 방법은 배열의 요소를 연결하여 암묵적으로 배열을 문자열로 변환합니다.

결과 문자열은 구분자 없이 배열 요소가 함께 연결됩니다.

실제 예를 생각해봅시다. $address라는 배열 객체가 있다고 가정합시다:

$address = "Where", "are", "you", "from?"

이 배열을 이중 인용부호를 사용하여 문자열로 변환하기 위해, 배열 변수를 인용부호 안에 넣기만 하면 됩니다:

$address = "Where", "are", "you", "from?"
"$address"

이 단 한 줄의 코드만으로 배열을 문자열로 변환하는 데 충분합니다. 파워셸이 이 구문을 만나면, 배열의 요소를 단일 문자열로 연결하라는 요청으로 해석합니다.

출력:

Where are you from?

원래 변수는 실제로 배열인지 확인하기 위해 $address.GetType()를 적용해 봅시다:

$address = "Where", "are", "you", "from?"
$address.GetType()

출력:

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     Object[]                                 System.Array

"$address".GetType()를 사용해 데이터 타입을 후속 확인하면 변수가 문자열로 변환되었음을 확인할 수 있습니다:

$address = "Where", "are", "you", "from?"
"$address".GetType()

출력:

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     String                                   System.Object

이중 인용부호의 사용은 파워셸에서 배열 객체를 문자열로 변환하는 과정을 간소화합니다. 이것은 이러한 변환을 달성하는 간결하고 직관적인 방법을 제공합니다.

-join 연산자를 사용하여 배열 객체를 문자열로 변환하기

파워셸에서 -join 연산자는 항목 배열을 단일 문자열로 결합하도록 설계되었습니다. 구분자를 지정함으로써 우리는 요소가 어떻게 연결되는지를 제어합니다.

배열을 문자열로 변환하는 맥락에서 -join 연산자는 우리의 요구 사항에 따라 출력을 형성할 수 있는 유연성을 제공합니다.

실제 예를 사용하여 이 과정을 설명해 보겠습니다. $address라는 같은 배열을 가지고 있다고 가정합시다.

이 배열을 -join 연산자를 사용하여 문자열로 변환하기 위해, 우리는 연산자 내에 구분자를 지정합니다:

$address = "Where", "are", "you", "from?"
$joinedString = $address -join " "

여기서 우리는 요소 사이에 공백(" ")을 구분자로 사용하여 배열의 요소를 공백으로 연결합니다.

-join 연산자를 사용하면 명시적인 반복이나 캐스팅의 필요가 없으며, 배열을 문자열로 변환하기 위한 간결하고 읽기 쉬운 솔루션을 제공합니다.

결과를 검사하기 위해, 우리는 단순히 $joinedString 변수를 출력할 수 있습니다:

$address = "Where", "are", "you", "from?"
$joinedString = $address -join " "
$joinedString

출력:

Where are you from?

-join 연산자는 지정된 구분자로 연결을 제어할 수 있게 하여 파워셸에서 배열 객체를 문자열로 변환하는 과정을 간소화합니다.

명시적 변환을 사용하여 배열 객체를 문자열로 변환하기

명시적 변환은 배열 객체를 문자열로 변환하기 위한 또 다른 간단한 방법을 제공합니다. 배열 변수를 원하는 데이터 유형으로 명시적으로 캐스팅함으로써 배열을 문자열로 변환할 수 있습니다.

이것은 파워셸에 배열을 문자열로 취급하도록 알려주며, 그 결과 배열의 요소가 단일 문자열로 연결됩니다.

다음 예를 고려해 봅시다. $address라는 배열이 있습니다. 이 배열을 문자열로 명시적으로 변환하기 위해, 우리는 캐스팅 연산자 [string]를 사용합니다:

$address = "Where", "are", "you", "from?"
$convertedString = [string]$address

명시적 변환은 [string]로 표시되며, 이는 변수 $address가 문자열로 처리되고 그 요소를 연결하도록 지시합니다.

결과를 확인하기 위해, 우리는 단순히 $convertedString 변수를 출력할 수 있습니다:

$address = "Where", "are", "you", "from?"
$convertedString = [string]$address
$convertedString

출력:

Where are you from?

명시적 변환은 연산자나 방법에 의존하지 않고 명확하고 직접적인 변환이 필요할 때 특히 유용합니다. 이는 한 줄의 코드로 배열을 문자열로 변환하는 간결하고 읽기 쉬운 방법을 제공합니다.

출력 필드 구분자 변수를 사용하여 배열 객체를 문자열로 변환하기

출력 필드 구분자 변수인 $OFS는 배열 요소가 문자열로 변환될 때 어떻게 연결되는지를 제어하는 유용한 방법을 제공합니다.

$OFS 변수를 특정 값으로 설정함으로써 배열 요소가 연결되는 방식을 영향 줄 수 있습니다. 이는 우리가 원하는 대로 문자열 출력을 사용자 정의할 수 있게 해줍니다.

배열 $address를 문자열로 변환하기 위해 $OFS 변수를 원하는 구분자로 설정한 다음, 배열 변수를 이중 인용부호 안에 넣습니다:

$address = "Where", "are", "you", "from?"
$OFS = '-'
$outputString = "$address"

여기서 우리는 하이픈(-)을 구분자로 사용합니다. 파워셸이 이 구문과 설정된 $OFS를 만나면, 지정된 구분자를 사용하여 배열 요소를 연결합니다.

결과를 조사하기 위해, 우리는 단순히 $outputString 변수를 출력할 수 있습니다:

$address = "Where", "are", "you", "from?"
$OFS = '-'
$outputString = "$address"
$outputString

출력:

Where-are-you-from?

$OFS 변수는 출력 형식을 사용자 정의하는 강력한 도구로, 결과 문자열에서 배열 요소가 표시되는 방식을 동적으로 조정할 수 있도록 해줍니다.

[system.String]::Join() 함수를 사용하여 배열 객체를 문자열로 변환하기

파워셸에서 [system.String]::Join() 함수는 배열 객체를 문자열로 변환하는 또 다른 강력한 방법을 제공합니다.

[system.String]::Join() 함수는 배열 요소를 단일 문자열로 결합하는 데 용이한 System.String 클래스의 정적 메서드입니다. 구분자와 배열을 인수로 제공함으로써, 이 방법은 배열을 문자열로 변환하는 과정을 간소화합니다.

같은 이름의 배열 $address가 네 개의 문자열 요소를 가지고 있다고 가정해 봅시다. [system.String]::Join()을 사용하여 $address 배열을 문자열로 변환하기 위해, 우리는 원하는 구분자와 배열로 메서드를 호출합니다:

$address = "Where", "are", "you", "from?"
$joinedString = [system.String]::Join(" ", $address)

여기서 우리는 공백(" ")을 구분자로 사용합니다. 이 방법은 명시적인 반복이나 캐스팅의 필요를 효과적으로 대체하여 변환 프로세스를 간소화합니다.

결과를 확인하기 위해, 우리는 단순히 $joinedString 변수를 출력할 수 있습니다:

$address = "Where", "are", "you", "from?"
$joinedString = [system.String]::Join(" ", $address)
$joinedString

출력:

Where are you from?

[system.String]::Join()을 사용하면 특히 배열을 다룰 때, 연결 프로세스를 제어하는 깔끔하고 간결한 방법을 제공합니다.

Out-String cmdlet을 사용하여 배열 객체를 문자열로 변환하기

Out-String cmdlet은 배열 객체를 문자열로 변환하는 데 사용할 수 있는 또 다른 다재다능한 도구입니다. 이것은 배열 요소를 연결하여 단일 문자열을 생성합니다.

직접적인 문자열 표현이 없을 수 있는 객체를 다룰 때 특히 유용합니다.

네 개의 문자열 요소를 가진 $address라는 배열이 있다고 가정해 보겠습니다. Out-String cmdlet을 사용하여 이 배열을 문자열로 변환하기 위해, 우리는 배열을 cmdlet에 입력으로 단순히 전달합니다:

$address = "Where", "are", "you", "from?"
$stringOutput = $address | Out-String

여기서 우리는 배열을 Out-String cmdlet에 파이프하여 사용합니다($address | Out-String). 이 작업은 배열의 요소를 암묵적으로 연결하여 단일 문자열을 생성합니다.

결과를 보려면, 우리는 단순히 $stringOutput 변수를 출력할 수 있습니다:

$address = "Where", "are", "you", "from?"
$stringOutput = $address | Out-String
$stringOutput

출력:

Where
are
you
from?

Out-String cmdlet은 복잡한 객체나 단순한 문자열 표현이 없을 수 있는 배열을 다룰 때 특히 유용합니다. 이 방법은 출력이 쉽게 사용되거나 추가 처리를 위해 문자열로 형식화되도록 보장합니다.

결론

파워셸은 배열 객체를 문자열로 변환하는 다양한 방법을 제공하며, 각 방법마다 고유한 장점이 있습니다. 이중 인용부호, -join 연산자, 명시적 변환, 출력 필드 구분자 변수, [system.String]::Join(), 또는 Out-String cmdlet을 활용하든, 파워셸은 개발자에게 이 흔한 작업을 처리할 수 있는 풍부한 도구를 제공합니다.

방법의 선택은 특정 요구 사항, 코딩 선호 및 조작되는 데이터의 성격에 따라 달라집니다. 이러한 기술을 이해함으로써 배열 객체를 문자열로 원활하게 변환할 수 있으며, 다양한 스크립팅 시나리오에서 코드 가독성과 효과성을 향상할 수 있습니다.

튜토리얼이 마음에 드시나요? DelftStack을 구독하세요 YouTube에서 저희가 더 많은 고품질 비디오 가이드를 제작할 수 있도록 지원해주세요. 구독하다
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

관련 문장 - PowerShell String

관련 문장 - PowerShell Array