PowerShell : remplacer le premier caractère d’une chaîne

I. Présentation

Dans ce tutoriel, nous allons voir ensemble quelque chose de simple, mais de très pratique : comment remplacer le premier caractère d'une chaîne dans un script PowerShell ? Il peut y avoir de nombreuses raisons d'avoir besoin de réaliser cette opération dans un script lorsque l'on manipule des valeurs. Voyons comment faire à l'aide de -replace.

II. Remplacer le premier caractère avec -replace

La méthode -replace disponible avec PowerShell est très pratique, car elle permet de remplacer une chaîne par une autre. Puisqu'il est compatible avec les expressions régulières, appelées également regex, nous allons pouvoir remplacer facilement le premier caractère au sein d'une chaîne (string). La syntaxe de -replace est la suivante :

$Texte -replace "<chaine à remplacer>","<chaine de remplacement>"

Prenons la variable $Texte, comme ceci :

$Texte = "PowerShell

L'objectif est donc de remplacer la lettre "P" puisqu'il s'agit du premier caractère de la chaîne donnée comme exemple. Nous allons remplacer cette première valeur par "PS1" (mais on peut mettre ce que l'on veut). Donc, on va remplacer "^." qui est la regex qui permet de cibler le premier caractère par la chaine de notre choix, ce qui donne :

$Texte -Replace "^.","PS1"

La valeur retournée sera : PS1owerShell

En fait, on pourrait aussi s'appuyer sur cette méthode pour supprimer le premier caractère de la chaîne, tout simplement en remplaçant le premier caractère par "rien" :

$Texte -Replace "^.",""

La chaîne retournée sera : owerShell

La preuve en image :

Maintenant, c'est à vous de jouer et d'intégrer cette méthode bien pratique dans votre script ?

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian BURNEL

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.

Nombre de posts de cet auteur : 5575.Voir tous les posts

4 thoughts on “PowerShell : remplacer le premier caractère d’une chaîne

  • Bonjour
    Merci pour ce script, il serait intéressant d’avoir un petit récap sur l’utilisation du regex ? Avec des fonctions de recherche dans une liste par exemple ?
    Bravo pour vos articles toujours très clairs

    Répondre
    • Bonjour,

      Justement j’ai prévu un premier article sur les Regex pour la semaine qui arrive, une sorte d’introduction sur le sujet.
      Qu’entends-tu par « Avec des fonctions de recherche dans une liste par exemple » ?

      Cordialement,
      Florian

      Répondre
  • Dans le fonction de recherche, l’idée serait d’utiliser les regex pour rechercher certains caractères dans une liste d’une fichier txt ou csv et de les extraire

    Répondre
  • Bonjour,
    Je cherche à supprimer les espaces en fin de ligne (uniquement en fin de ligne) dans un fichier texte avec powershell, sachant que je ne connais pas à l’avance le nombre d’espaces existants pour chaque ligne.
    Merci pour votre aide

    Répondre

Répondre à Melting Annuler la réponse

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.