Comment extraire une sous-chaîne PowerShell d'une chaîne
-
Extraire une sous-chaîne PowerShell avec la méthode
Substring()
- Extraire une sous-chaîne PowerShell à gauche d’une chaîne
- Extraire une sous-chaîne PowerShell avant et après un caractère spécifié
- Extraire une sous-chaîne PowerShell entre deux caractères

Cet article illustre comment nous pouvons extraire une sous-chaîne à partir d’une chaîne dans PowerShell. Une sous-chaîne est simplement une partie d’une chaîne.
Nous pouvons créer une sous-chaîne dans PowerShell en utilisant les méthodes Substring()
et split()
. Par exemple, si nous avons la chaîne Delftstack.com
, Delftstack
est une sous-chaîne et com
en est une autre.
Cet article discutera de la méthode Substring()
.
Extraire une sous-chaîne PowerShell avec la méthode Substring()
Commençons par examiner la syntaxe de la méthode Substring()
.
string.Substring(int startIndex, int length)
L’int
dans la syntaxe marque le startIndex
et length
comme des numéros d’index. Le startIndex
indique le premier caractère de la sous-chaîne que nous souhaitons extraire, tandis que length
est le nombre de caractères que nous souhaitons extraire d’une chaîne.
Nous utilisons la méthode IndexOf
pour déterminer le startIndex
et le length
d’une sous-chaîne.
Nous déterminons le startIndex
en ajoutant 1
à la valeur résultante de l’IndexOf
de la sous-chaîne. Regardons un exemple.
Supposons que ned.delftstack.com
soit notre chaîne, quelle est la position de l’index de la première lettre n
dans notre chaîne ? Nous pouvons déterminer la position en exécutant la commande ci-dessous :
"ned.delftstack.com".IndexOf('n')
Le résultat est 0
. C’est parce que la méthode IndexOf
recherche la première occurrence d’une chaîne de gauche à droite et commence toujours à partir de 0.
Ainsi, si nous souhaitons extraire une sous-chaîne commençant par la lettre n
, notre startIndex
sera 0.
Nous pouvons également utiliser LastIndexOf
pour trouver l’emplacement de la dernière occurrence d’une chaîne. Par exemple, la dernière occurrence de la lettre d
serait :
"ned.delftstack.com".LastIndexOf('d')
Cette information de base vous permettra de manipuler des chaînes dans PowerShell.
Extraire une sous-chaîne PowerShell à gauche d’une chaîne
Mettons les informations ci-dessus au travail.
Supposons que nous voulions extraire la sous-chaîne ned
de ned.delftstack.com
. Comment procéder ?
Nous commencerons par enregistrer notre chaîne dans une variable appelée ourstrng
.
$ourstrng = "ned.delftstack.com"
D’après la syntaxe de la méthode Substring()
, notre commande sera :
$ourstrng.Substring(0, 3)
Cela renverra ned
puisque notre startIndex
est 0
et length
est de 3 caractères. Que faire si notre objectif est d’extraire delftstack
de notre chaîne ?
La première étape consiste à déterminer le startIndex
pour notre sous-chaîne. Dans ce cas, nous utiliserons le premier point, qui est le séparateur.
$ourstrng.IndexOf(".")
Le résultat sera 3
. Mais si vous vous en souvenez, nous ajoutons 1
au résultat pour le premier caractère de la chaîne ; donc, notre startIndex
sera 4
.
La longueur sera le nombre de caractères que nous voulons que la sous-chaîne ait ; nous compterons à partir de 1. La sous-chaîne delftstack
a 10
caractères.
$ourstrng.Substring(4, 10)
Cela renverra delftstack
.
Extraire une sous-chaîne PowerShell avant et après un caractère spécifié
Disons que nous voulons extraire à la fois ned
et delftstack.com
de notre chaîne. Comment procéder ?
Tout d’abord, nous devons déterminer la position de notre séparateur, le premier .
. La commande ci-dessous enregistrera le séparateur dans une variable appelée $sepchar
.
$sepchar = $ourstrng.IndexOf(".")
Pour extraire nos sous-chaînes, nous exécuterons la commande ci-dessous :
$ourstrng.Substring(0, $sepchar)
Cela extraira la première partie, qui est ned
. Pour l’autre sous-chaîne, nous exécuterons :
$ourstrng.Substring($sepchar + 1)
Cela renverra deftstack.com
.
Extraire une sous-chaîne PowerShell entre deux caractères
Si notre chaîne est ned.delftstack.com
, notre sous-chaîne sera delftstack
puisqu’elle se trouve entre nos premier et deuxième points. Un tel script nécessitera trois commandes.
La première commande déterminera la position de notre premier point (.)
et l’enregistrera dans la variable firstsep
.
$firstsep = $ourstrng.IndexOf(".")
La deuxième commande déterminera la deuxième position de notre point en utilisant la méthode LastIndexOf
et l’enregistrera dans la variable lastrep
.
$lastrep = $ourstrng.LastIndexOf(".")
La dernière commande extraira la sous-chaîne delftstack
de notre chaîne.
$ourstrng.Substring($firstsep + 1, $lastrep - 4)
En conclusion, vous pouvez extraire une sous-chaîne dans une chaîne avant, après et entre les séparateurs PowerShell. La méthode Substring()
est pratique, comme nous l’avons vu ci-dessus.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedInArticle connexe - PowerShell String
- Comment convertir une chaîne sécurisée en texte brut dans PowerShell
- Comment générer des chaînes aléatoires en utilisant PowerShell
- Comment remplacer un texte dans un fichier en utilisant PowerShell
- Comment supprimer les espaces d'une variable en utilisant PowerShell
- Comment trouver la position d'une sous-chaîne dans PowerShell