Question Supprimer uniquement des lettres d1 fichier texte

Plus d'informations
il y a 16 ans 4 semaines #1994 par maycry
Bonjour voila, mon probléme ^^ si il y'a une solution

Exemple:

Get-MailboxStatistics -Server exchange |`
Select-Object TotalItemSize | Format-Table -AutoSize |`
Out-File C:\test.txt


une fois le text.txt ouvert, je récupérer les résultat qui sont par exemple

145555B
145556B

En bref je voudrais récupérer uniquement les chiffres numériques et donc supprimer la letrre B

si je fais un
(type c:\test.txt) -notmatch \"B\"

powershell efface la ligne entiere et non uniquement la lettre B

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 4 semaines #1996 par PASCAULT
Slt Chris,

Une méthode parmi d'autres:
(suppression du dernier caractère si un B)

[code:1](get-content c:test.txt)|foreach{$_.trimend(\"B\"«»)}[/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 4 semaines #1997 par Laurent Dardenne
Salut,
chris écrit:

Bonjour En bref je voudrais récupérer uniquement les chiffres numériques et donc supprimer la letrre B

Il est préférable de parser le texte avec des expressions régulières ([Regex] sous Powershell). Ne sachant si tu connais le sujet, voici un début :
[code:1]
#match OK
$Str=$null
$Str=\"145555B\"
$Str= $Str -replace \"^([\d]*)([\D]*)`$\",'$1'
$Str;$Str=$null
#match OK
$Str=\"1B\"
$Str= $Str -replace \"^([\d]*)([\D]*)`$\",'$1'
$Str;$Str=$null
#match KO
$Str=\"B\"
$Str= $Str -replace \"^([\d]*)([\D]*)`$\",'$1'
$Str
$Str.length;$Str=$null
#match KO
$Str=\"B125\"
$Str= $Str -replace \"^([\d]*)([\D]*)`$\",'$1'
$Str
$Str.length
[/code:1]
pour info :

\"^([\d]*)([\D]*)$\" = Regex
'$1' = Capture du groupe ([\d]*)
^ = Début de ligne
[\d] = Uniquement les chiffres, équivaut à [0-9]. 1 er groupe de capture -> $1
* = 0 ou n occurences d'un chiffre
[\D]* = 0 ou n occurences de n'importe quoi(Tab, space,...) (sauf des chiffres). Second groupe de capture -> $2
$ = fin de ligne

Ensuite il faut connaitre tous les cas possibles pour écrire la regex qui fonctionne pour tous les cas que tu as trouvés et/ou plausible.<br><br>Message édité par: BatchMan, à: 20/03/08 15:46

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 4 semaines #2001 par Robin Lemesle
Comme le dit batchman, passer par les expressions régulières est la méthode la plus recommendable.

Robin MVP PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 4 semaines #2003 par Laurent Dardenne
Vous trouverez ici un résumé sur les regex
Regular Expressions Cheat Sheet

Un court tutoriel sur [url=http://lgmorand.developpez.com/dotnet/regex/
]l'utilisation des expressions régulières en .Net[/url]

voir aussi :
technet.microsoft.com/en-us/magazine/cc137764.aspx

technet.microsoft.com/fr-fr/magazine/cc137764.aspx

ça donne les bases mais pas l'aspirine :lol:

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 4 semaines #2004 par PASCAULT
Oui, sans aucun doute.

Mais Chris dans son exemple ne cherchait, semble t-il, qu'à supprimer la lettre \&quot;B\&quot; (correspondant aux octets probablement, vu la requête ), ce n'est donc vraiment pas sympa dès le début de lui faire manger de l'expression régulière... :ohmy: à moins qu'il connaisse déjà bien sûr !

Mais bon, c'est clair qu'il faut bien commencer un jour ! ;)

Merci Batchman pour les differents liens. (ça pourrait-être interessant de les rajouter dans les liens du site,non ;) )

Je me permet de recréer tes liens ci-dessous, car à priori pb sur tes liens (copier /coller ? )

l'utilisation des expressions régulières en .Net:

lgmorand.developpez.com/dotnet/regex/

technet.microsoft.com/en-us/magazine/cc137764.aspx
technet.microsoft.com/fr-fr/magazine/cc137764.aspx

Réference msdn:
msdn2.microsoft.com/en-us/library/1400241x(VS.85).aspx

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.079 secondes
Propulsé par Kunena