, ,

:TODO:

PowerShell : Traitement sur chaînes de caractères

Une chaine de caractère à une longueur :

$aStr = "Ma chaine."
$aStr.Length
10
# Enregistre la saisie de l'utilisateur convertie en minuscules
 $userFirstName = [System.String] (Read-Host -Prompt "Saisissez votre prénom").ToLower()

La méthode String.Contains() retourne $true si la chaine de caractère contient le motif

$userSentence = "Ceci est une phrase courte."
 
# Recherche d'un caractère
$userSentence.Contains('p')
True
 
# Recherche d'une sous-chaîne
$userSentence.Contains('courte')
True
 
# La recherche est sensible à la casse
$userSentence.Contains('Courte')
False

La méthode String.IndexOf() permet de déterminer la position d'un caractère ou motif :

$userSentence.IndexOf('.')
26
 
$userSentence.IndexOf('est')
5

La méthode String.Insert() permet d'introduire une sous-chaine à la position souhaitée :

$userSentence = "Une autre petite phrase."
 
$userSentence.IndexOf('petite')
10
 
$userSentence.Insert(10, 'toute ')
Une autre toute petite phrase.

Pour obtenir la liste des méthodes :

$userSentence | Get-Member

Parmi les plus usuelles :

Remove(int startindex,int count) Supprime un nombre spécifié de caractères de la chaîne en commençant au numéro de caractère spécifié. Si le nombre n’est pas spécifié, la chaîne est tronquée au numéro de caractère spécifié.
Replace(string value,string value) Remplace toutes les instances de la première chaîne par la deuxième chaîne.
Split(char separator) Fractionne une chaîne unique en plusieurs chaînes à des points spécifiés par un caractère.
ToLower() Convertit une chaîne en minuscules.
ToUpper() Convertit une chaîne en majuscules.

Références