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...!