Comment extraire une sous-chaîne PowerShell d'une chaîne
Dans PowerShell, une sous-chaîne fait partie d'une chaîne. Vous pouvez créer une sous-chaîne PowerShell à partir d'une chaîne en utilisant soit le sous-chaîne g, diviser méthodes.
Un exemple de chaîne est sous-domaine.domaine.com . Les sous-chaînes de sous-domaine.domaine.com sont sous-domaine , domaine , et avec .
Dans cette zone S, je vais vous apprendre tout ce dont vous avez besoin pour en savoir plus sur PowerShell Substring.
Plus précisément, vous apprendrez à extraire des sous-chaînes de chaînes à l'aide de la méthode Sous-chaîne et Diviser Méthodes . De plus, vous découvrirez le PowerShell Diviser Opérateur .
Enfin, vous apprendrez à diviser une chaîne PowerShell en sous-chaînes et à utiliser le Sous-chaîne Méthode pour extraire les sous-chaînes.
Parcourir les sujets de publication
- Comment extraire une sous-chaîne PowerShell avec la méthode Substring
- Syntaxe de la méthode de sous-chaîne PowerShell
- Comment identifier une position de sous-chaîne PowerShell avec les méthodes IndexOf et LastIndexOf
- Comment extraire une sous-chaîne PowerShell à gauche d'une chaîne
- Comment extraire une sous-chaîne PowerShell avant et après un caractère spécifié
- Comment extraire une sous-chaîne PowerShell entre 2 caractères
- Comment extraire une sous-chaîne PowerShell avec la méthode Split
- Syntaxe de la méthode PowerShell Split
- Comment utiliser plusieurs délimiteurs avec PowerShell Split
- Comment extraire une sous-chaîne PowerShell avec la méthode Split
- Comment extraire le dernier élément d'une sous-chaîne avec PowerShell Split
- Comment diviser une chaîne et supprimer des entrées vides avec PowerShell Split
- Références et lectures complémentaires
Comment extraire une sous-chaîne PowerShell avec Sous-chaîne Méthode
Dans cette première section, vous apprendrez à extraire des sous-chaînes d'une chaîne avec la Sous-chaîne Méthode .
Je suis conscient que l'utilisation de sous-chaînes dans le cadre d'une chaîne dans la même phrase que le Sous-chaîne Méthode peut être déroutant. Dans un souci de clarté, les sous-chaînes faisant partie d'une chaîne font référence à l'extraction d'une partie d'une chaîne. Par exemple, en extrayant la sous-chaîne usa de la chaîne usa.itechguides.com. Au contraire, le Sous-chaîne Méthode fait référence au PowerShell Sous-chaîne Méthode utilisé pour effectuer la tâche.
Je vais lancer cette section en expliquant la syntaxe du Sous-chaîne Méthode.
Syntaxe du PowerShell Sous-chaîne Méthode
La syntaxe de la Sous-chaîne Méthode:
|__+_|Pour vous assurer que vous comprenez les parties restantes de cette section, il est extrêmement important que vous prêtiez attention à mon explication de ces syntaxes.
Comme vous pouvez le voir dans la syntaxe, lorsque vous spécifiez le Sous-chaîne Méthode d'une chaîne, vous entrez startIndex ET longueur .
le entier dans la syntaxe indique que le startIndex et longueur sont des nombres (entiers)le startIndex est le premier caractère de la sous-chaîne que vous voulez extraire (en comptant de gauche à droite et en commençant par ajouter 1 au résultat de la Indice de – sauf pour le premier caractère).
De plus, le longueur est le nombre de caractères que vous souhaitez extraire, en commençant par 1 et en comptant à partir du premier caractère de la sous-chaîne que vous souhaitez extraire.
Dans la section suivante, j'expliquerai les Indice de Méthode et comment l'utiliser pour déterminer startIndex et longueur . Si vous êtes encore troublé par ma tentative d'expliquer ce concept assez complexe de startIndex et longueur , ne vous découragez pas - cela deviendra plus clair au fur et à mesure que vous progresserez dans le guide.Pour vous aider à comprendre ce concept, la section suivante abordera Indice de et DernierIndexDe Méthodes.
Comment identifier une position de sous-chaîne PowerShell avec Indice de Et DernierIndexDe Méthodes
Quand j'ai expliqué la syntaxe du Sous-chaîne Méthode, j'ai dit que le startIndex du PowerShell Sous-chaîne Method est le premier caractère de la sous-chaîne que vous souhaitez extraire (déterminé en ajoutant 1 au résultat de la Indice de valeur pour cette sous-chaîne).
Dans cette section, j'utiliserai le Indice de et DernierIndexDe Méthodes d'une chaîne PowerShell pour vous montrer comment PowerShell détermine les positions des caractères de sous-chaîne dans une chaîne.
vérifier l'état du chargeur de démarrage samsung
Pour illustrer, examinons la position d'index de la première lettre u dans usa.itechguides.com – en exécutant la commande ci-dessous…
|__+_| le Indice de La méthode trouve la première occurrence d'une chaîne (en comptant de gauche à droite et en partant de zéro)Le résultat est zéro (0)…
Pourquoi est-ce important? Heureux que vous ayez demandé !
Vous vous souvenez de la startIndex ET longueur dans la syntaxe du PowerShell Sous-chaîne Méthode ?
|__+_|Si la position d'index de la lettre u dans usa.itechguides.com est nul (o), selon la Indice de Méthode – cela signifie que si nous souhaitons extraire des caractères à partir de la lettre u, notre startIndex sera 0 - puisqu'il s'agit du premier caractère de la chaîne.
L'exception à la règle d'ajouter 1 au résultat de Indice de commande pour déterminer la startIndex est le premier caractère de la chaîne. le startIndex du premier caractère d'une chaîne sera toujours zéro (0).Comme c'est incroyable !
Maintenant, ajoutons une autre couche à cela. Que se passe-t-il si nous voulons trouver la dernière occurrence d'un caractère dans une chaîne ?
Au lieu d'utiliser, le Indice de Méthode , nous utiliserons le DernierIndexDe Méthode . Cette commande déterminera l'emplacement de la dernière occurrence de la lettre u dans la chaîne, usa.itechguides.com :
|__+_| LastIndexOf trouve la dernière occurrence de la chaîne (en comptant de gauche à droite et en partant de zéro)Le résultat est 10…
Cette connaissance de la façon dont PowerShell détermine la position des caractères de sous-chaîne dans une chaîne vous aidera à manipuler les chaînes PowerShell, quelle que soit leur complexité.Comment extraire une sous-chaîne PowerShell à gauche d'une chaîne
Dans cette section, vous apprendrez à extraire une sous-chaîne à gauche d'une chaîne. Je vais vous montrer un exemple qui peut être utilisé dans des environnements de production.
En supposant que vous gérez un domaine Active Directory avec plusieurs sous-domaines. Les sous-domaines sont nommés en utilisant un nom de pays à 3 lettres. Des exemples de vos sous-domaines sont USA.itechguides.com , jpn.itechguides.com .
De plus, supposons que vous écriviez un script PowerShell qui vous oblige à exécuter des commandes conditionnelles basées sur le nom du sous-domaine du pays - dans votre domaine Active Directory.
Dans cette section, je vais vous apprendre à extraire le sous-domaine LES USAGES , à partir de USA.itechguides.com .
Commençons par enregistrer le sous-domaine, LES USAGES itechguides.fr dans une variable appelée sous-domaine .
|__+_|Suivez les étapes ci-dessous pour extraire LES USAGES , à partir de USA.itechguides.com :
- Saisissez un point (.) à côté de la variable dans laquelle le sous-domaine est enregistré, suivi du mot Sous-chaîne . Enfin, ajoutez une parenthèse ouvrante…
- Ensuite, entrez le startIndex suivi d'une virgule (,). Avant de faire cela, rappelez-vous que nous voulons extraire les États-Unis. Dans ce cas, puisque nous voulons extraire du premier caractère, notre startIndex est zéro (0). La commande ressemblera maintenant à ceci :
- Enfin, entrez le longueur , suivi de la parenthèse fermante, ). Dans cet exemple, le longueur (en comptant à partir du nombre à côté du startIndex ) est 3 - le startIndex vaut 0, ajouter 1 à 0 donne 1.
Si vous comptez à partir de U - USA a 3 caractères - ce qui fait que le longueur un total de 3 caractères.
Voici le scénario final…
Pour voir la commande en action, exécutez la commande ci-dessous, d'abord…
|__+_|Cela enregistre la chaîne, USA.itechguides.com dans la variable PowerShell, $sous-domaine . Ensuite, exécutez la commande qui extrait la sous-chaîne USA de la chaîne, USA.itechguides.com .
|__+_|Comme prévu, le résultat est USA !
Et si vous voulez extraire le domaine parent, itechguides.fr à partir de USA.itechguides.com ? Quelle sera notre startIndex et longueur ?
Pour déterminer votre startIndex , exécutez d'abord le Indice de commande, en utilisant le premier point (.) comme entrée.
mise en mémoire tampon de la télévision de thé sur le Firestick|__+_|
Le résultat est 3…
Selon mon explication précédente, pour déterminer la startIndex du résultat de la Indice de commande, ajoutez 1. Si nous ajoutons 1 à 3, notre startIndex est 4.
Ensuite, pour déterminer la longueur , commencez à compter à partir de 1, en commençant par le premier caractère de la chaîne que vous souhaitez extraire. Ensuite, arrêtez-vous au dernier caractère que vous souhaitez extraire de la chaîne.
Rappelez-vous que nous voulons extraire itechguides.fr à partir de USA.itechguides.com ?
En comptant à partir du premier caractère de la chaîne que nous voulons extraire (i), en commençant à 1, le longueur a 15 ans ( itechguides.fr est de 15 caractères).
En fonction de ces valeurs, la commande qui extrait la sous-chaîne PowerShell, itechguides.fr à partir de USA.itechguides.com est…
|__+_|Voici le résultat, itechguides.fr !
Enfin, pour aider à simplifier ce concept assez déroutant de startIndex , Indice de , et longueur , voici un résumé :
- le startIndex du premier caractère d'une chaîne PowerShell sera toujours zéro (0)
- Pour déterminer le startIndex d'une sous-chaîne, ajoutez 1 au Indice de résultat de la commande
- Finalement, le longueur de la sous-chaîne PowerShell que vous souhaitez extraire est le nombre total (à partir de 1) et en comptant du premier caractère de la sous-chaîne au dernier caractère de la sous-chaîne.
Comment extraire une sous-chaîne PowerShell avant et après un caractère spécifié
Dans cette section, je vais vous apprendre à extraire la sous-chaîne PowerShell avant et après un caractère spécifié.
Pour illustrer cela, revenons à notre sous-domaine…
|__+_|Supposons que je souhaite extraire la sous-chaîne avant l'annonce après le premier point (.). Effectivement, je veux extraire USA (la sous-chaîne avant le caractère spécifié).
De plus, je souhaite extraire itechguides.com (la sous-chaîne après le caractère spécifié).
La première étape consiste à utiliser le Indice de Méthode pour déterminer la position du caractère de référence. La commande ci-dessous enregistre la position du caractère de référence dans une variable appelée caractère de référence .
|__+_|Ensuite, utilisez le sous-chaîne Méthode pour extraire la sous-chaîne avant le caractère de référence.
|__+_|Voici le résultat…
Enfin, utilisez le PowerShell suivant sous-chaîne Méthode pour extraire la sous-chaîne après le caractère de référence
|__+_|Comme prévu, le résultat extrait la sous-chaîne après le point, qui est itechguides.fr !
Comment extraire une sous-chaîne PowerShell entre 2 caractères
Dans cette section, je vais vous apprendre à extraire itechguides à partir de USA.itechguides.com . Dans cet exemple, je souhaite extraire une sous-chaîne PowerShell entre 2 caractères.
Les deux caractères de cet exemple sont le premier et le dernier point (.). Le script nécessite 3 commandes.
Dans la première commande, nous utilisons le Indice de Méthode pour déterminer la position du premier caractère de référence (.). Ensuite, enregistrez le résultat dans une variable appelée première réf .
|__+_|Ensuite, nous utilisons le DernierIndexDe Méthode pour déterminer l'emplacement du dernier caractère de référence. Le résultat est enregistré dans dernièreréf variable.
|__+_|Enfin, pour extraire la sous-chaîne PowerShell, itechguides entre 2 caractères (les points), lancez la commande ci-dessous…
|__+_|Dans la commande, nous avons ajouté 1 au résultat de la Indice de commander. Dans cet exemple, 3, soit un total de 4.
Cela rend notre startIndex Quatre.
De plus, dans le PowerShell sous-chaîne Méthode , nous avons utilisé le longueur comme $lastref-4 .
De nos commandes précédentes, $lastref est la variable que nous avons enregistrée le résultat de la DernierIndexDe commander.
le gestionnaire de tâches ne parvient pas à terminer le processus
Le résultat est 15. Enlever 4 de 15 rend notre longueur Onze.
Le résultat de la dernière commande est itechguides !
Comment extraire une sous-chaîne PowerShell avec la méthode Split
Dans la première section de ce guide, j'ai expliqué comment extraire une sous-chaîne PowerShell avec le Sous-chaîne Méthode . Dans cette section, vous apprendrez à extraire la sous-chaîne PowerShell avec le Diviser Méthode .
Comme d'habitude, je commencerai cette section par la syntaxe du PowerShell Diviser Méthode .
Syntaxe du PowerShell Diviser Méthode
La syntaxe de la Diviser La méthode d'extraction d'une sous-chaîne PowerShell est :
|__+_|Le délimiteur est n'importe quel caractère que vous souhaitez utiliser pour diviser la chaîne PowerShell en sous-chaînes individuelles.
La position de la sous-chaîne placée entre crochets [] est utilisée pour sélectionner une sous-chaîne spécifique que vous souhaitez renvoyer à partir des chaînes.
Comment utiliser plusieurs délimiteurs avec PowerShell Split
Comme on le voit dans la syntaxe du PowerShell Diviser Méthode , il n'autorise qu'un seul délimiteur. Cependant, si vous souhaitez séparer les sous-chaînes d'une chaîne avec plusieurs délimiteurs, vous devez utiliser le PowerShell Diviser Opérateur , plutôt.
La syntaxe du PowerShell Diviser L'opérateur est…
|__+_|Si vous souhaitez utiliser plusieurs délimiteurs, enregistrez d'abord la chaîne dans une variable - dans cet exemple, $string. Ensuite, utilisez la variable de pipeline automatique $_ pour ajouter les multiples délimiteurs comme indiqué ci-dessous :
|__+_|Par exemple, nous pouvons diviser ce Nom distinctif Active Directory , OU=LON,OU=DEV,DC=ITECHGUIDES,DC=COM – en utilisant les deux délimiteurs, =, et ,.
Tout d'abord, enregistrons le DN dans une variable appelée $ADDN…
|__+_|Ensuite, pour diviser la chaîne à l'aide des délimiteurs = et , utilisez la commande ci-dessous :
|__+_|Bingo, la dernière commande divise la chaîne en sous-chaînes PowerShell individuelles !
Dans la section suivante, vous apprendrez comment renvoyer l'une des sous-chaînes.
Comment extraire une sous-chaîne PowerShell avec le Diviser Méthode
Dans la dernière section, vous avez vu comment diviser une chaîne en sous-chaînes individuelles à l'aide de PowerShell Diviser Opérateur . Voici la dernière commande...
|__+_|La commande divise la chaîne en ses sous-chaînes individuelles.
Lorsque j'ai discuté de la syntaxe du Diviser La méthode d'extraction d'une sous-chaîne PowerShell est, j'ai inclus un crochet [] qui contient la position de la sous-chaîne que vous souhaitez renvoyer :
|__+_|PowerShell numérote les positions des sous-chaînes à partir de zéro (0). Donc, pour revenir à l'exemple Active Directory DN - voir la capture d'écran ci-dessous - la première sous-chaîne OU est en position zéro (0), LON est en position 1, et ainsi de suite.
Ainsi, pour renvoyer LON, nous mettrons la dernière commande entre les crochets [1]. Dans ce cas, un est la position de la sous-chaîne que nous voulons renvoyer.
Voici la commande…
racine et outils de droïde mtk|__+_|
Voici le résultat de la commande :
Alternativement, vous pouvez enregistrer le résultat de la commande avec le Diviser Opérateur dans une variable.
|__+_|Ensuite, renvoyez l'une des sous-chaînes en plaçant la position de la sous-chaîne entre crochets []. Par exemple, pour renvoyer LON, nous utiliserons la commande ci-dessous :
|__+_|Le résultat est le même que la commande précédente sans la variable…
Comment extraire le dernier élément d'une sous-chaîne avec PowerShell Split
Si vous souhaitez retourner le premier ou le dernier élément (caractère) d'une sous-chaîne, vous pouvez utiliser le même principe de notre dernier exemple.
En faisant des recherches sur ce sujet, je suis tombé sur ceci stackoverflow.com fil. L'utilisateur a une chaîne ci-dessous :
|__+_| La question StackOverflow explique que la chaîne, 0.3.1-15-g3b885c5 veux dire Balise-CommitDistance-CommitId . Ainsi, 0.3.1 est le étiqueter , 15 est le CommitDistance , et g3b885c5 est le ID de validation .La question est de retourner la première partie de la chaîne, 0.3.1 – selon cet utilisateur, appelée étiqueter . En outre, l'utilisateur souhaite renvoyer la dernière partie de la chaîne, g3b885c5, appelée le ID de validation .
La première étape consiste à enregistrer la chaîne dans une variable (ceci est facultatif mais facilite généralement la vie).
|__+_|Ensuite, utilisez le Diviser Méthode pour diviser la chaîne en sous-chaînes PowerShell en utilisant - comme délimiteur. Encore une fois, pour faciliter mon explication, je vais enregistrer le résultat dans une autre variable…
|__+_|Pour voir le résultat de la dernière commande, exécutez le $TccSubstrings variables seules.
|__+_|C'est ici…
Sur la base de nos exemples précédents dans cette section, pour extraire le Étiqueter (la première sous-chaîne), utilisez la commande ci-dessous :
|__+_|Enfin, pour extraire le ID de validation (la dernière sous-chaîne), utilisez la commande ci-dessous…
|__+_|Et voici les résultats…
Notez que vous pouvez également résoudre ce problème en exécutant une seule commande…
|__+_|Et voici le même résultat…
Il n'y a pas de magie à cela, tout ce que j'ai fait a été de combiner toutes les commandes en une seule commande !
Comment diviser une chaîne et supprimer des entrées vides avec PowerShell Split
Dans ce dernier exemple, je veux vous montrer comment diviser une chaîne avec des espaces vides (ou des entrées) en sous-chaînes. Ensuite, supprimez les espaces vides dans le résultat final.
En autre stackoverflow.com thread, un utilisateur a posté cette chaîne enregistrée dans une variable :
|__+_|L'utilisateur a ensuite utilisé le Diviser Méthode pour diviser la chaîne en sous-chaînes individuelles.
|__+_|Selon l'utilisateur (et c'est évident), le problème est que le résultat comporte des espaces.
La personne qui a posté cette question voulait que les espaces soient supprimés des sous-chaînes. Il existe plusieurs solutions, mais un moyen rapide consiste à diriger la sortie de la commande split vers Où-Objet .
Ceci est une gracieuseté de Rynant . Voici la commande…
|__+_|Et voici le résultat…
C'est tout, notre article de sous-chaîne PowerShell mis à jour ! J'espère que vous l'avez trouvé utile.
Si vous avez trouvé cet article utile, merci de voter Oui à la question Was this post Helpful ci-dessous.
Alternativement, vous pouvez poser une question, laisser un commentaire ou fournir plus de commentaires avec le formulaire Laisser une réponse qui se trouve à la fin de cette page.
Enfin, pour plus de zones S techniques PowerShell, visitez notre page de guide pratique Windows PowerShell. Vous pouvez également trouver notre page Travail à domicile très utile.


