15/11/2024

PowerShell

PowerShell : Supprimer le dernier caractère d’une chaîne

I. Présentation

Manipuler des chaînes de caractères est quelque chose d'incontournable lorsque l'on fait du scripting, PowerShell n'échappe pas à cette règle. Dans ce tutoriel, je vous partage une astuce toute simple mais bien pratique : supprimer le dernier caractère d'une chaîne en PowerShell.

II. Length et SubString à votre service

On va, par exemple, supprimer le dernier caractère de la variable $UserLogin. On va utiliser la méthode "Substring" qui fait partie de l'arsenal de méthodes disponibles pour agir sur les chaînes de caractères en PS. Celle-ci permet d'extraire/conserver seulement un morceau d'une chaîne : on indique le caractère de départ et le caractère de fin qu'il faut conserver.

Zéro étant le premier caractère. Par contre, en fonction de la longueur de la chaîne le dernier identifiant sera différent, et pour supprimer le dernier caractère, il faut connaître la longueur de la chaîne - 1. Fort heureusement, PowerShell dispose de la propriété Length qui permet d'obtenir la longueur d'une chaîne.

On va donc faire un Substring sur notre chaîne, en partant du caractère 0 jusqu'à "Length - 1" ce qui aura pour bénéfice de supprimer le dernier caractère. Au niveau de la syntaxe, ceci nous donne :

$UserLogin = $UserLogin.Substring(0,$UserLogin.Length-1)

En fait, je me suis servi de cette méthode récemment pour supprimer le dernier caractère d'une chaîne s'il s'agissait d'un point. Il fallait donc récupérer ce dernier caractère dans une variable ($UserLoginLastCharIsADot), puis s'il s'agissait d'un "." alors on le supprime. Ce qui donne :

$UserLogin = "Florian."

$UserLoginLastCharIsADot = $UserLogin.Substring($UserLogin.Length-1,1)

if($UserLoginLastCharIsADot -eq "."){
   $UserLogin = $UserLogin.Substring(0,$UserLogin.Length-1)
}

Le résultat en image :

Amusez-vous bien...!

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.