Recherche…


Syntaxe

  • "(Double-quoted) String"

  • 'Chaîne littérale'

  • @ "
    Chaîne de caractères
    "@

  • @ '
    Littéral ici-chaîne
    '@

Remarques

Les chaînes sont des objets représentant du texte.

Créer une chaîne de base

Chaîne

Les chaînes sont créées en encapsulant le texte avec des guillemets doubles. Les chaînes entre guillemets peuvent évaluer les variables et les caractères spéciaux.

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

Pour utiliser un guillemet double à l'intérieur d'une chaîne, il doit être échappé en utilisant le caractère d'échappement backtick ( ` ). Les guillemets simples peuvent être utilisés dans une chaîne entre guillemets.

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

Chaîne littérale

Les chaînes littérales sont des chaînes qui n'évaluent pas les variables et les caractères spéciaux. Il est créé à l'aide de guillemets simples.

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

Pour utiliser des guillemets simples dans une chaîne littérale, utilisez des guillemets simples ou une chaîne littérale ici. Les qutos doubles peuvent être utilisés en toute sécurité dans une chaîne littérale

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

Format chaîne

$hash = @{ city = 'Berlin' }

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

Les chaînes de format peuvent être utilisées avec l'opérateur -f ou la méthode static [String]::Format(string format, args) .NET.

Chaîne multiligne

Il existe plusieurs façons de créer une chaîne multiligne dans PowerShell:

  • Vous pouvez utiliser les caractères spéciaux pour un retour chariot et / ou une nouvelle ligne manuellement ou utiliser la variable NewLine pour insérer la valeur "newline" du système.

    "Hello`r`nWorld"
    "Hello{0}World" -f [environment]::NewLine
    
  • Créer un saut de ligne en définissant une chaîne (avant de fermer le devis)

    "Hello
    World"
    
  • Utiliser une chaîne ici. C'est la technique la plus courante.

    @"
    Hello
    World
    "@
    

Chaîne de caractères

Les chaînes ici sont très utiles lors de la création de chaînes multilignes. Un des principaux avantages par rapport aux autres chaînes multilignes est que vous pouvez utiliser des guillemets sans avoir à les échapper avec un backtick.

Chaîne de caractères

Ici, les chaînes commencent par @" et un saut de ligne et se terminent par "@ sur sa propre ligne ( "@ doit être les premiers caractères de la ligne, même pas les espaces / tab ).

@"
Simple
    Multiline string 
with "quotes"
"@

Littéral ici-chaîne

Vous pouvez également créer une chaîne de caractères littérale ici en utilisant des guillemets simples, lorsque vous ne souhaitez pas que des expressions soient développées de la même manière qu'une chaîne littérale normale.

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

Chaînes concaténantes

Utilisation de variables dans une chaîne

Vous pouvez concaténer des chaînes en utilisant des variables dans une chaîne entre guillemets. Cela ne fonctionne pas avec les propriétés.

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

Utiliser l'opérateur +

Vous pouvez également joindre des chaînes à l'aide de l'opérateur + .

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

Cela fonctionne également avec les propriétés des objets.

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

Utiliser des sous-expressions

Le résultat / résultat d'une sous-expression $() peut être utilisé dans une chaîne. Ceci est utile pour accéder aux propriétés d'un objet ou effectuer une expression complexe. Les sous-expressions peuvent contenir plusieurs instructions séparées par un point-virgule ;

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

Caractères spéciaux

Utilisé dans une chaîne entre guillemets, le caractère d'échappement (backtick ` ) représente un caractère spécial.

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

Exemple:

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

Vous pouvez également échapper à des caractères spéciaux ayant des significations spéciales:

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


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow