Bonjour bonjour,
Il vous ai peut-être arrivé, comme moi actuellement, d'avoir un string avec plein de caractères que vous ne voulez pas voir.
Vous pouvez enchaîner les .replace mais... avouons le, c'est pas très beau. C'est pas très beau et en plus on s'y perd facilement.
Dans ce cas, soyez sans craintes, super JeanYvette vous partage la fonction qu'il a fait :
Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 function ReplaceMultipleChar { param( [string]$ChaineAChanger, [string]$DonneesKO, [string]$DonneesDeRemplassement) if ($ChaineAChanger.length -lt 1) { return } if ($DonneesDeRemplassement.length -lt 1) { return } if ($DonneesKO.length -lt 1) { return $ChaineAChanger } $TailleChaine = $ChaineAChanger.Length for($NbBoucle = 0;$NbBoucle -lt $TailleChaine; $NbBoucle++) { $ValeurEnCours = $ChaineAChanger.substring($NbBoucle, 1) $Position = $DonneesKO.IndexOf($ValeurEnCours) if( $Position -gt -1) { $NouvelleLettre = $DonneesDeRemplassement.substring($Position, 1) $NewString = $ChaineAChanger.replace($ValeurEnCours,$NouvelleLettre) $ChaineAChanger = $ChaineAChanger.replace($ValeurEnCours,$NouvelleLettre) } } return $NewString } $New = ReplaceMultipleChar "aàaeééériééççéàéé&eefzf" "éçà" "eca" Write-Host "Valeur corrigé : " $New
Je me suis inspiré de l'algo de SQLPRO (Rendons lui honneur) sur une fonction qu'il a faite sur sql server.
Ici, dans les paramètres vous avez :
1 = Le string où vous avez des caractères que vous ne voulez plus
2 = La liste des caractères que vous ne voulez plus
3 = La liste des caractères que vous voulez voir à la place
A noter qu'il faut que les caractères que vous ne voulez plus soient dans le même ordre que la liste des caractères de remplacement.
Il existe un moyen plus simple de le faire, dans ce cas, béni soit la personne qui me le montrera.
Mais en attendant, au cas où cela peut servir, je vous le partage bien volontiers
Bisous bisous
Partager