Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! Découvrez la Bibliothèque Numérique ENI. Cliquez ici

Manipuler les chaînes de caractères

Les bases

1. Qu’est-ce qu’une chaîne de caractères ?

La gestion des chaînes de caractères est chose courante dans les différents types de langages de programmation. Il s’agit donc d’une partie importante à maîtriser correctement ou, tout du moins, un minimum.

Commençons tout d’abord par définir ce qu’est une chaîne de caractères ou string en anglais.

Le terme string est couramment utilisé dans PowerShell et de manière plus globale sur Windows (par exemple dans la base de registre). En termes informatiques, une chaîne de caractères est un type de données correspondant à une suite ordonnée de plusieurs caractères. Autrement dit, c’est un ensemble de symboles faisant partie d’un jeu de caractères qui est lui-même défini par le code ASCII.

2. Qu’est-ce que le code ASCII ?

Dans un ordinateur, les caractères ne peuvent pas être stockés dans la mémoire. Ceux-ci seront stockés sous forme numérique. Le code ASCII permet de transcrire un caractère en une valeur numérique.

3. Chaîne de caractères en exemple

Une chaîne de caractères peut être une simple ligne entre guillemets :

"Bonjour et bienvenue dans notre livre" 

ou encore :

"Damien Van Robaeys et Jérôme Bezet-Torres" 

ou une suite de chiffres :

"123456" 

ou un texte entre des quotes :

'Apprenons PowerShell ensemble' 

Cela peut également être une chaîne vide :

"" 
'' 

ou vide contenant un espace :

" " 
' ' 

Une chaîne de caractères peut également être le contenu d’un fichier texte :

images/23RI01.png

4. Distinguer une chaîne de caractères avec PowerShell...

Méthodes disponibles pour gérer les chaînes

Différentes méthodes existent pour gérer les chaînes de caractères.

Pour savoir ce qu’est une méthode, consultez le chapitre La gestion des objets.

Pour lister les méthodes, nous utiliserons la cmdlet Get-Member sur un objet String (chaîne de caractères).

<Objet> | Get-Member 

Nous trierons ensuite le résultat du Get-Member sur la propriété Method.

<Objet> | Get-Member -MemberType Method 

Reprenons l’exemple précédent :

$Texte = "Apprenons PowerShell ensemble" 

La cmdlet Get-Member sur la variable $Texte triée sur les méthodes nous donnera le résultat suivant :

PS C:\Users\damien.vanrobaeys> $Texte | get-member -MemberType Method 
 
Name 
---- 
Clone 
CompareTo 
Contains 
CopyTo 
EndsWith 
Equals 
GetEnumerator 
GetHashCode 
GetType 
GetTypeCode 
IndexOf 
IndexOfAny 
Insert 
IsNormalized 
LastIndexOf 
LastIndexOfAny 
Normalize 
PadLeft 
PadRight 
Remove 
Replace 
Split 
StartsWith 
Substring 
ToBoolean 
ToByte 
ToChar 
ToCharArray 
ToDateTime 
ToDecimal 
ToDouble 
ToInt16 
ToInt32 
ToInt64 
ToLower 
ToLowerInvariant 
ToSByte 
ToSingle 
ToString 
ToType 
ToUInt16 
ToUInt32 
ToUInt64 
ToUpper 
ToUpperInvariant 
Trim 
TrimEnd 
TrimStart 

Manipulation des chaînes avec les méthodes

Dans les exemples suivants, nous utiliserons la chaîne de caractères suivante :

$Texte = "Apprenons PowerShell ensemble" 

1. Compter le nombre de caractères

Pour compter le nombre de caractères que contient un élément, nous utiliserons la propriété Length.

$Texte = "Apprenons PowerShell ensemble" 

Le résultat sera 29 caractères.

Cela peut également s’écrire :

("Apprenons PowerShell ensemble").Length 
29 

2. Passer le contenu en majuscules

Dans notre fichier, le contenu est majoritairement en minuscules. Nous allons tout passer en majuscules.

La méthode à utiliser pour cela est ToUpper().

$Texte = "Apprenons PowerShell ensemble" 
$Texte.ToUpper() 
APPRENONS POWERSHELL ENSEMBLE 

Cela peut également s’écrire :

("Apprenons PowerShell ensemble").ToUpper() 
APPRENONS POWERSHELL ENSEMBLE 

3. Passer le contenu en minuscules

Utilisons la chaîne de caractères suivante :

$Texte = "APPRENONS POWERSHELL ENSEMBLE" 

Nous allons tout passer en minuscules.

La méthode à utiliser pour cela est ToLower().

$Texte = "APPRENONS POWERSHELL ENSEMBLE" 
$Texte.ToLower() 
apprenons powershell ensemble 

Cela peut également s’écrire :

("APPRENONS POWERSHELL ENSEMBLE").ToLower() 
apprenons powershell ensemble 

4. Remplacer des caractères

En parcourant les méthodes disponibles, nous remarquons celle nommée Replace. Il s’agit d’une des méthodes les plus utiles pour la gestion des fichiers et chaînes de caractères.

Cette méthode nous permettra de modifier/remplacer un caractère se trouvant dans une chaîne et s’utilise ainsi :

<Chaîne...