>> Électroniques Technologie >  >> Maison intelligente >> Vie intelligente

Comment diviser une chaîne en deux variables dans PowerShell

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'une autre manière.

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 scriptage par lots Windows et DOS, qui est également toujours disponible sur la plupart des versions de Windows.

Il est souvent utilisé pour combiner la sortie de plusieurs programmes ou pour transmettre des données d'un programme à un autre, il est donc utile de l'utiliser pour manipuler des chaînes.

La fonction PowerShell Split

Si vous avez une chaîne dans PowerShell et que vous souhaitez la diviser sur un caractère, vous pouvez le faire en utilisant le Split intégré 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 fractionné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 comme $a[0], $a[1] et ainsi de suite ou les conserver dans le tableau si cela est plus utile.

Le fractionnement de 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 sur les caractères d'espacement, y compris les espaces, les sauts de ligne et les tabulations. Dans certains cas, vous souhaiterez peut-être fractionner la chaîne sur un autre caractère, tel qu'une virgule ou un trait d'union, ou une chaîne telle que " et."

Pour ce faire, divisez le caractère ou la chaîne souhaité autour du deuxième argument de la fonction split, en écrivant s.split(",") ou s -split "," pour diviser sur une virgule, par exemple. Quel que soit le caractère que vous choisissez de donner à PowerShell comme 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 le fournissant 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.

Découper une chaîne dans PowerShell

Vous pouvez faire en sorte que PowerShell coupe une chaîne ou supprime les caractères en excès au début ou à la fin en utilisant le trim 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 retours à la ligne à la fin.

La fonction de jointure PowerShell

Comme dans d'autres langages de programmation, la jointure de PowerShell la fonction est essentiellement l'opposé de split . Il prend plusieurs chaînes et les combine avec un délimiteur donné ou sans espace du tout.

Par exemple, -join ("a","b","c") donnera le résultat "abc", tandis que "a","b","c" -join " " donnera la chaîne de résultat "a b 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 afficher à un utilisateur.


Vie intelligente