수색…


통사론

  • "(큰 따옴표로 묶인) 문자열"

  • '리터럴 문자열'

  • @ "
    Here-string
    "@

  • @ '
    리터럴 here-string
    '@

비고

문자열은 텍스트를 나타내는 객체입니다.

기본 문자열 만들기

문자열은 큰 따옴표로 묶어 작성합니다. 큰 따옴표로 묶인 문자열은 변수 및 특수 문자를 평가할 수 있습니다.

$myString = "Some basic text"
$mySecondString = "String with a $variable"

문자열 내에서 큰 따옴표를 사용하려면 이스케이프 문자 backtick ( ` )을 사용하여 이스케이프해야합니다. 작은 따옴표는 큰 따옴표로 묶은 문자열 안에 사용할 수 있습니다.

$myString = "A `"double quoted`" string which also has 'single quotes'."

리터럴 문자열

리터럴 문자열은 변수 및 특수 문자를 평가하지 않는 문자열입니다. 작은 따옴표를 사용하여 만듭니다.

$myLiteralString = 'Simple text including special characters (`n) and a $variable-reference'

리터럴 문자열에서 작은 따옴표를 사용하려면 작은 따옴표 나 리터럴 here-string을 사용하십시오. double qutoes는 리터럴 문자열 내에서 안전하게 사용할 수 있습니다.

$myLiteralString = 'Simple string with ''single quotes'' and "double quotes".'

형식 문자열

$hash = @{ city = 'Berlin' }

$result = 'You should really visit {0}' -f $hash.city
Write-Host $result #prints "You should really visit Berlin"

형식 문자열은 -f 연산자 또는 정적 [String]::Format(string format, args) .NET 메서드와 함께 사용할 수 있습니다.

여러 줄

PowerShell에서 여러 줄 문자열을 만드는 방법에는 여러 가지가 있습니다.

  • 캐리지 리턴 및 / 또는 뉴 라인에 대한 특수 문자를 수동으로 사용하거나 NewLine 환경 변수를 사용하여 시스템 "줄 바꿈"값을 삽입 할 수 있습니다.

    "Hello`r`nWorld"
    "Hello{0}World" -f [environment]::NewLine
    
  • 문자열을 정의하면서 줄 바꿈을 만듭니다 (인용 부호를 닫기 전에).

    "Hello
    World"
    
  • here-string 사용. 이것은 가장 일반적인 기술입니다.

    @"
    Hello
    World
    "@
    

Here-string

here-strings는 여러 줄 문자열을 만들 때 매우 유용합니다. 다른 멀티 라인 문자열과 비교할 때 가장 큰 이점 중 하나는 백틱을 사용하여 이스케이프하지 않고 따옴표를 사용할 수 있다는 것입니다.

Here-string

여기에서 문자열은 @" 시작하고 줄 바꿈으로 끝나고 "@ 끝납니다 ( "@ 줄의 첫 번째 문자 여야하며 공백 / 탭이 아니어야합니다 ).

@"
Simple
    Multiline string 
with "quotes"
"@

리터럴 here-string

보통의 리터럴 문자열처럼 표현식을 확장하지 않으려면 작은 따옴표를 사용하여 literal here-string을 만들 수도 있습니다.

@'
The following line won't be expanded
$(Get-Date)
because this is a literal here-string
'@

문자열 연결하기

문자열에서 변수 사용하기

큰 따옴표로 묶은 문자열 안에 변수를 사용하여 문자열을 연결할 수 있습니다. 속성과 함께 작동하지 않습니다.

$string1 = "Power"
$string2 = "Shell"
"Greetings from $string1$string2"

+ 연산자 사용

+ 연산자를 사용하여 문자열을 조인 할 수도 있습니다.

$string1 = "Greetings from"
$string2 = "PowerShell"
$string1 + " " + $string2

이는 객체의 속성에도 적용됩니다.

"The title of this console is '" + $host.Name + "'"

하위 표현식 사용

$() 서브 표현식의 결과 / 결과는 문자열에서 사용할 수 있습니다. 이것은 객체의 속성에 액세스하거나 복잡한 표현식을 수행 할 때 유용합니다. 하위 표현식에는 세미콜론으로 구분 된 여러 개의 명령문이 포함될 수 있습니다 ;

"Tomorrow is $((Get-Date).AddDays(1).DayOfWeek)"

특수 문자

이중 인용 된 문자열 내에서 사용하는 경우, 이스케이프 문자 (역 따옴표는 ` ) 특수 문자를 reperesents.

`0    #Null
`a    #Alert/Beep
`b    #Backspace
`f    #Form feed (used for printer output)
`n    #New line
`r    #Carriage return
`t    #Horizontal tab
`v    #Vertical tab (used for printer output)

예:

> "This`tuses`ttab`r`nThis is on a second line"
This    uses    tab
This is on a second line

특별한 의미로 특수 문자를 이스케이프 할 수도 있습니다.

`#    #Comment-operator
`$    #Variable operator
``    #Escape character
`'    #Single quote
`"    #Double quote


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow