TUTOS.EU

Powershell - Retirer les caractères spéciaux

Comment retirer les caractères spéciaux en Powershell. Cela se base sur une syntaxe type regex

Ici on retire tous les caractères sauf les lettres, les espaces et les chiffres.
Ensuite on remplace les espaces consécutifs par un espace simple.

#http://www.chdb.eu/?n=6841
$SubFolderModified = $MySubFolder.name -replace '[^a-zA-Z 0-9]+',''
$SubFolderModified = $SubFolderModified -replace '[ ]+',' ' ##Histoire de retirer les espaces consécutifs
Lien vers le fichier : cliquez ici Copier le code

Ici c'est le même principe mais en plus on conserve les \ que l'on remplace par un _

#http://www.chdb.eu/?n=6841
$NomFichierACreer = $ObjectToProcess -replace '\\','_' #Remplace les \ par _
$SubFolderModified = $NomFichierACreer -replace '[^a-zA-Z 0-9_]+','' #Remplace tous les caractères spéciaux saut les espaces et les _
$SubFolderModified = $SubFolderModified -replace '[ ]+',' ' #Histoire de retirer les espaces consécutifs
Lien vers le fichier : cliquez ici Copier le code

Dans cet exemple on stock un fichier dans une variable mais on retire les caractères ASCII qui vont de 0 à 0F ainsi que de 41 à 5A. Ces derniers peuvent être consécutifs.

#http://www.chdb.eu/?n=6841
$MonDocument = (Get-Content -Path c:\unfichier -Encoding utf8) -replace "[^\x00-\x0F\x41-\x5A]+", ""
Lien vers le fichier : cliquez ici Copier le code

Pages Web

Site WebDescription
SS64 regular ExpressionsExemples de regex en powershell

2