Buscar..


Sintaxis

  • "(Cita doble)"

  • 'Cuerda literal'

  • @ "
    Aquí cadena
    "@

  • @ '
    Literal aquí-cadena
    '@

Observaciones

Las cadenas son objetos que representan texto.

Creando una cadena básica

Cuerda

Las cadenas se crean envolviendo el texto con comillas dobles. Las cadenas entre comillas dobles pueden evaluar variables y caracteres especiales.

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

Para usar una comilla doble dentro de una cadena, debe escaparse usando el carácter de escape, comilla hacia atrás ( ` ). Las comillas simples se pueden utilizar dentro de una cadena entre comillas dobles.

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

Cuerda literal

Las cadenas literales son cadenas que no evalúan variables y caracteres especiales. Se crea utilizando comillas simples.

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

Para usar comillas simples dentro de una cadena literal, use comillas simples dobles o una cadena literal aquí. Los qutoes dobles se pueden usar de manera segura dentro de una cadena literal

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

Cadena de formato

$hash = @{ city = 'Berlin' }

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

Las cadenas de formato se pueden usar con el operador -f o el método estático [String]::Format(string format, args) .NET.

Cuerda multilínea

Hay varias formas de crear una cadena multilínea en PowerShell:

  • Puede usar los caracteres especiales para el retorno de carro y / o la nueva línea manualmente o usar la variable NewLine para insertar el valor de "nueva línea" de los sistemas)

    "Hello`r`nWorld"
    "Hello{0}World" -f [environment]::NewLine
    
  • Cree un salto de línea mientras define una cadena (antes de cerrar la cita)

    "Hello
    World"
    
  • Usando una cadena de aquí. Esta es la técnica más común.

    @"
    Hello
    World
    "@
    

Aquí cadena

Aquí, las cadenas son muy útiles al crear cadenas multilínea. Uno de los mayores beneficios en comparación con otras cadenas multilínea es que puede usar comillas sin tener que escapar de ellas usando un backtick.

Aquí cadena

Aquí, las cadenas comienzan con @" y un salto de línea y terminan con "@ en su propia línea ( "@ deben ser los primeros caracteres de la línea, ni siquiera los espacios en blanco / tabulador ).

@"
Simple
    Multiline string 
with "quotes"
"@

Literal aquí-cadena

También puede crear una cadena literal aquí utilizando comillas simples, cuando no desee que las expresiones se expandan como una cadena literal normal.

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

Cuerdas de concatenacion

Usando variables en una cadena

Puede concatenar cadenas utilizando variables dentro de una cadena entre comillas dobles. Esto no funciona con propiedades.

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

Usando el operador +

También puedes unir cadenas utilizando el operador + .

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

Esto también funciona con las propiedades de los objetos.

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

Usando subexpresiones

La salida / resultado de una subexpresión $() se puede utilizar en una cadena. Esto es útil al acceder a propiedades de un objeto o al realizar una expresión compleja. Las subexpresiones pueden contener varias declaraciones separadas por punto ; coma ;

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

Caracteres especiales

Cuando se utiliza dentro de una cadena de comillas dobles, el carácter de escape (backtick ` ) representa un carácter especial.

`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)

Ejemplo:

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

También puedes escapar de caracteres especiales con significados especiales:

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


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow