Si vous avez une chaîne de texte dans Microsoft PowerShell, il est souvent utile de diviser la chaîne en plusieurs variables.
Crédit d'image : dusanpetkovic/iStock/GettyImages
Si vous avez une chaîne de texte dans Microsoft PowerShell, il est souvent utile de diviser la chaîne en plusieurs variables. Par exemple, vous pouvez avoir le prénom et le nom d'un utilisateur séparés par un espace, ou un numéro de téléphone commençant par un indicatif régional. Vous pouvez utiliser la fonction PowerShell Split intégrée pour ce faire. D'autres fonctions sont disponibles pour que PowerShell analyse une chaîne d'autres manières.
Comprendre Microsoft PowerShell
PowerShell est un outil de ligne de commande et un langage de programmation fournis par Microsoft. Il remplace l'ancien outil de script par lots Windows et DOS, qui est également toujours disponible sur la plupart des versions de Windows.
Vidéo du jour
Il est souvent utilisé pour combiner la sortie de plusieurs programmes ou transmettre des données d'un programme à un autre, il est donc utile de l'utiliser pour manipuler des chaînes.
La fonction de fractionnement de PowerShell
Si vous avez une chaîne dans PowerShell et que vous souhaitez la diviser sur un caractère, vous pouvez le faire à l'aide de la fonction intégrée Diviser une fonction. Écrivez s -Split, où s est la variable contenant la chaîne, ou appelez s.split. La fonction renverra un tableau contenant chacun des éléments de la chaîne divisée, que vous pouvez capturer dans une variable comme
$a = s.split()
Vous pouvez les affecter à des variables en accédant aux éléments individuels en tant que $a[0], $a[1] et ainsi de suite ou les conserver dans le tableau si cela est plus utile.
Le fractionnement des chaînes est souvent utile lorsque vous devez diviser l'entrée de l'utilisateur ou la sortie d'un autre programme en ses composants.
Options de fractionnement PowerShell
Par défaut, PowerShell divisera la chaîne en caractères d'espacement, y compris les espaces, les sauts de ligne et les tabulations. Dans certains cas, vous souhaiterez peut-être diviser la chaîne sur un autre caractère, tel qu'une virgule ou un tiret, ou une chaîne telle que " et ".
Pour ce faire, créez le caractère ou la chaîne souhaité à diviser autour du deuxième argument de la fonction split, en écrivant s.split(",") ou s -split "," à diviser sur une virgule, par exemple. Quel que soit le caractère que vous choisissez de donner à PowerShell en tant que délimiteur, ou séparateur, sera omis de toutes les chaînes de résultat.
Vous pouvez également choisir un nombre maximal de chaînes à diviser en en fournissant ceci comme argument supplémentaire. Par exemple, "a, b, c, d".split(",",2) donnera un tableau avec les éléments "a" et "b, c, d" tandis que "a, b, c, d". split(",") donnera un tableau avec chaque lettre dans sa propre chaîne.
Couper une chaîne dans PowerShell
Vous pouvez demander à PowerShell de couper une chaîne ou de supprimer les caractères en excès du début ou de la fin, en utilisant le garniture une fonction. Par défaut, il supprimera les espaces au début et à la fin de la chaîne.
Par exemple, " a ".trim() donnera le résultat "a". Vous pouvez spécifier d'autres caractères que vous souhaitez supprimer de la chaîne en tant qu'argument, donc "^$a ".trim(" ^") donnera le résultat "$a".
Vous pouvez utiliser les fonctions TrimStart et TrimEnd pour supprimer uniquement les caractères du début ou de la fin de la chaîne.
Ceci est souvent utile lorsque vous avez des données obtenues d'un utilisateur qui les a saisies dans une zone de saisie avec des espaces supplémentaires ou des sauts de ligne à la fin.
La fonction de jointure PowerShell
Comme dans d'autres langages de programmation, PowerShell rejoindre fonction est essentiellement l'opposé de diviser. Il prend plusieurs chaînes et les combine avec un délimiteur donné ou sans aucun espace.
Par exemple, -join ("a","b","c") donnera le résultat "abc", tandis que "a","b","c" -join " " donnera la chaîne de résultat "ab c ." Cela peut être utile lorsque vous avez plusieurs variables que vous devez combiner en une seule pour les stocker dans un fichier, les transmettre à une autre commande ou les envoyer à un utilisateur.