Question
Tronquage de chaine (Résolu)
- didine
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 29
- Remerciements reçus 0
il y a 16 ans 6 mois #1173
par didine
NEWTON_
Tronquage de chaine (Résolu) a été créé par didine
C'est passionnant mais alors ....
très difficile ...pour moi
JANEL , ARNAUD , A TOUS MERCI
le code suivant ;
Extraire dans test.txt
les chaines de caractéres débutant par {POLYLINE]
Conprenant [GR] ou [GRP]
Et finissant par [END]
En remplaçant :Type=**** par Type=0x13
[code:1]get-content c:\test.txt -delimiter \"[END]\"
|foreach {$_ -replace \"Type=.*\",\"Type=0x13 \"}
|select-string \"[GR][GRP]\"|select-string \"POLYLINE\" > c:\Rest.txt[/code:1]
fonctionne bien \"à vue\" extraction et écriture
cependant
1: test.txt est au format \"ANSI\"
alors que \"Rest.txt\" est au format \"Ucs 2 Little ENDIAN\"
Ce qui génère une impossibilité pour l'appli qui doit
lire les données
Je la résout avec notepad++ qui effectue la conversion
je n'y arrive pas autrement ...
2:Beaucoup plus grave
[code:1]
Dans \"test.txt\"
Data1=(49.34329,1.13108),(49.34269,1.13194),(49.34209,1.13348),(49.34071,1.13382),(49.34063,1.13417),(49.34029,1.13434),(49.33900,1.13442),(49.33737,1.13477)
Dans \"Rest1.txt\"
Data1=(49.34329,1.13108),(49.34269,1.13194),(49.34209,1.13348),(49.34071,1.13382),(49.34063,1.13417),(49.34029,1.13434)
,(49.33900,1.13442),(49.33737,1.13477)
[/code:1]
Avec ou sans la conversion du 1
Powershell écrit les data1 en incluant un retour à la
ligne !
Là c'est terrible car tout ce qui est \"mis à la ligne\"
,(49.33900,1.13442),(49.33737,1.13477)
apparaît bien dans Rest.txt mais n'est pas lu par
l'appli ce qui conduit a des \"vides\"dans les courbes tracées (les coordonnées des points)
mis a la ligne .....
Là c'est dur , dur ,dur ,je planche
Et comme le dit Arnaud encore une nuit blanche
MERCI
Message édité par: newt, à: 17/10/07 17:12
Message édité par: newt, à: 17/10/07 17:14
Message édité par: newt, à: 17/10/07 17:21
Message édité par: newt, à: 17/10/07 17:27<br><br>Message édité par: Arnaud, à: 30/11/07 10:06
très difficile ...pour moi
JANEL , ARNAUD , A TOUS MERCI
le code suivant ;
Extraire dans test.txt
les chaines de caractéres débutant par {POLYLINE]
Conprenant [GR] ou [GRP]
Et finissant par [END]
En remplaçant :Type=**** par Type=0x13
[code:1]get-content c:\test.txt -delimiter \"[END]\"
|foreach {$_ -replace \"Type=.*\",\"Type=0x13 \"}
|select-string \"[GR][GRP]\"|select-string \"POLYLINE\" > c:\Rest.txt[/code:1]
fonctionne bien \"à vue\" extraction et écriture
cependant
1: test.txt est au format \"ANSI\"
alors que \"Rest.txt\" est au format \"Ucs 2 Little ENDIAN\"
Ce qui génère une impossibilité pour l'appli qui doit
lire les données
Je la résout avec notepad++ qui effectue la conversion
je n'y arrive pas autrement ...
2:Beaucoup plus grave
[code:1]
Dans \"test.txt\"
Data1=(49.34329,1.13108),(49.34269,1.13194),(49.34209,1.13348),(49.34071,1.13382),(49.34063,1.13417),(49.34029,1.13434),(49.33900,1.13442),(49.33737,1.13477)
Dans \"Rest1.txt\"
Data1=(49.34329,1.13108),(49.34269,1.13194),(49.34209,1.13348),(49.34071,1.13382),(49.34063,1.13417),(49.34029,1.13434)
,(49.33900,1.13442),(49.33737,1.13477)
[/code:1]
Avec ou sans la conversion du 1
Powershell écrit les data1 en incluant un retour à la
ligne !
Là c'est terrible car tout ce qui est \"mis à la ligne\"
,(49.33900,1.13442),(49.33737,1.13477)
apparaît bien dans Rest.txt mais n'est pas lu par
l'appli ce qui conduit a des \"vides\"dans les courbes tracées (les coordonnées des points)
mis a la ligne .....
Là c'est dur , dur ,dur ,je planche
Et comme le dit Arnaud encore une nuit blanche
MERCI
Message édité par: newt, à: 17/10/07 17:12
Message édité par: newt, à: 17/10/07 17:14
Message édité par: newt, à: 17/10/07 17:21
Message édité par: newt, à: 17/10/07 17:27<br><br>Message édité par: Arnaud, à: 30/11/07 10:06
NEWTON_
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 16 ans 6 mois #1174
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:TRONQUAGE DE CHAINE
Bonjour Newton,
Par défaut PowerShell génère des fichiers Unicode UTF16. Pour forcer le type d'encodage il faut que tu passes par la commandelette Out-File en lui précisant le paramètre -encoding ASCII.
Soit le code suivant :
[code:1]
get-content c:\test.txt -delimiter \"[END]\" `
|foreach {$_ -replace \"Type=.*\",\"Type=0x13 \"} `
|select-string \"[GR][GRP]\"|select-string \"POLYLINE\" `
|Out-File -encoding ASCII c:\rest.txt
[/code:1]
Sinon pour ce qui concerne le retour charriot, je pense qu'il a du être ajouté par ton éditeur de texte car je n'ai pas ce problème. Et il n'y a pas de raison pour que PowerShell en rajoute s'il n'y en a pas dans ton fichier de départ.
Courage...
Arnaud
PS: j'ai ajouté des backtits \"`\" aux fins de ligne pour indiquer à PowerShell que la ligne n'est pas terminée. Ainsi tu peux copier/coller ton code lorsqu'il s'affiche sur plusieurs lignes.
Par défaut PowerShell génère des fichiers Unicode UTF16. Pour forcer le type d'encodage il faut que tu passes par la commandelette Out-File en lui précisant le paramètre -encoding ASCII.
Soit le code suivant :
[code:1]
get-content c:\test.txt -delimiter \"[END]\" `
|foreach {$_ -replace \"Type=.*\",\"Type=0x13 \"} `
|select-string \"[GR][GRP]\"|select-string \"POLYLINE\" `
|Out-File -encoding ASCII c:\rest.txt
[/code:1]
Sinon pour ce qui concerne le retour charriot, je pense qu'il a du être ajouté par ton éditeur de texte car je n'ai pas ce problème. Et il n'y a pas de raison pour que PowerShell en rajoute s'il n'y en a pas dans ton fichier de départ.
Courage...
Arnaud
PS: j'ai ajouté des backtits \"`\" aux fins de ligne pour indiquer à PowerShell que la ligne n'est pas terminée. Ainsi tu peux copier/coller ton code lorsqu'il s'affiche sur plusieurs lignes.
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- didine
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 29
- Remerciements reçus 0
il y a 16 ans 6 mois #1178
par didine
NEWTON_
Réponse de didine sur le sujet Re:TRONQUAGE DE CHAINE
Merci Arnaud
l'encodage a réussi
mais rien à faire pour le retour chariot
je ne comprends pas
il place au delà du
PARDON,PARDON, 120ième
je les ai compté !!!
un retour chariot !
Y'a t il un moyen de dire a Powershell \"d'annuler'
le retour chariot , ou de supprimer DONC le 121 iéme!!!
caractère ???
Merci<br><br>Message édité par: newt, à: 17/10/07 18:04
l'encodage a réussi
mais rien à faire pour le retour chariot
je ne comprends pas
il place au delà du
PARDON,PARDON, 120ième
je les ai compté !!!
un retour chariot !
Y'a t il un moyen de dire a Powershell \"d'annuler'
le retour chariot , ou de supprimer DONC le 121 iéme!!!
caractère ???
Merci<br><br>Message édité par: newt, à: 17/10/07 18:04
NEWTON_
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 16 ans 6 mois #1182
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:TRONQUAGE DE CHAINE
Est-ce que tu pourrais poster ton fichier dans le forum (sous forme zippée) afin que je puisse y jeter un oeil ?
Arnaud
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- didine
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 29
- Remerciements reçus 0
il y a 16 ans 6 mois #1183
par didine
NEWTON_
Réponse de didine sur le sujet Re:TRONQUAGE DE CHAINE
Merci Arnaud
Attention Arnaud
dans notepad ils paraissent semblables ..
or c'est faux
regarde la ligne Data1 de fin de fichier
dans rest1.txt
Avec notepad++ on vois bien
l'apparition du retour chariot
ENCORE MERCI<br><br>Message édité par: newt, à: 17/10/07 18:37
La pièce jointe test.zip est absente ou indisponible
Attention Arnaud
dans notepad ils paraissent semblables ..
or c'est faux
regarde la ligne Data1 de fin de fichier
dans rest1.txt
Avec notepad++ on vois bien
l'apparition du retour chariot
ENCORE MERCI<br><br>Message édité par: newt, à: 17/10/07 18:37
NEWTON_
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- didine
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 29
- Remerciements reçus 0
il y a 16 ans 6 mois #1185
par didine
NEWTON_
Réponse de didine sur le sujet Re:TRONQUAGE DE CHAINE
Arnaud merci
j'ai trouvé je crois
grâce au blogue de JANEL
25 mars 2006 à 9h38 !!!!!!!!!!
[code:1]get-content c:\test.txt -delimiter \"[END]\" |foreach {$_ -replace \"Type=.*\",\"Type=0x13 \" }|
select-string \"[GR][GRP]\"|select-string \"POLYLINE\" |
Out-File -encoding ASCII c:\rest.txt|
type c:\rest.txt |%{$line=$_.split(\";”) | %{$_.trim()}; [string]::join(“;”,$line)}[/code:1]
je crois que c'est bon
ARNAUD , JANEL MIRACLE
merci merci
j'ai trouvé je crois
grâce au blogue de JANEL
25 mars 2006 à 9h38 !!!!!!!!!!
[code:1]get-content c:\test.txt -delimiter \"[END]\" |foreach {$_ -replace \"Type=.*\",\"Type=0x13 \" }|
select-string \"[GR][GRP]\"|select-string \"POLYLINE\" |
Out-File -encoding ASCII c:\rest.txt|
type c:\rest.txt |%{$line=$_.split(\";”) | %{$_.trim()}; [string]::join(“;”,$line)}[/code:1]
je crois que c'est bon
ARNAUD , JANEL MIRACLE
merci merci
NEWTON_
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.099 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Tronquage de chaine (Résolu)