Поиск…
Синтаксис
"(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