Поиск…


Синтаксис

  • "(Double-quoted) Строка"

  • 'Литеральная строка'


  • Здесь строка
    «@


  • Литературная здесь-строка
    @

замечания

Строки - это объекты, представляющие текст.

Создание базовой строки

строка

Строки создаются путем обертывания текста двойными кавычками. Строки с двойными кавычками могут вычислять переменные и специальные символы.

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

Чтобы использовать двойную кавычку внутри строки, ее нужно экранировать с помощью escape-символа, backtick ( ` ). Одинарные кавычки могут использоваться внутри строки с двумя кавычками.

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

Литеральная строка

Литеральные строки - это строки, которые не оценивают переменные и специальные символы. Он создается с использованием одинарных кавычек.

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

Чтобы использовать одинарные кавычки внутри литеральной строки, используйте двойные одинарные кавычки или буквенную строку здесь. Двойные 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 -environment для вставки значения «новая строка» в системах)

    "Hello`r`nWorld"
    "Hello{0}World" -f [environment]::NewLine
    
  • Создайте linebreak при определении строки (до закрытия цитаты)

    "Hello
    World"
    
  • Использование строки здесь. Это самый распространенный метод.

    @"
    Hello
    World
    "@
    

Здесь строка

Здесь строки очень полезны при создании многострочных строк. Одним из самых больших преимуществ по сравнению с другими многострочными строками является то, что вы можете использовать кавычки, не избегая их с помощью обратного хода.

Здесь строка

Здесь строки начинаются с @" и строки и заканчиваются на "@ на собственной строке ( "@ должны быть первыми символами на линии, даже не пробелы / вкладки ).

@"
Simple
    Multiline string 
with "quotes"
"@

Литературная здесь-строка

Вы также можете создать литерал здесь-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)"

Специальные символы

При использовании внутри строки с двойными кавычками escape-символ (backtick ` ) представляет особый символ.

`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