Question
traitement d'une variable texte
- haquet
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 13 ans 8 mois #12278
par haquet
traitement d'une variable texte a été créé par haquet
Bonjour
Je cherche à traiter une variable dans la quelle se trouve du texte, je voudrai :
- supprimer les ' (apostrophe) pour ne pas perturber le script powershell.
- supprimer les lignes vides.
- et encoder en utf8 le texte
et le renvoyer dans une nouvelle variable.
Merci d'avance à celui qui pourra m'aider.
Je cherche à traiter une variable dans la quelle se trouve du texte, je voudrai :
- supprimer les ' (apostrophe) pour ne pas perturber le script powershell.
- supprimer les lignes vides.
- et encoder en utf8 le texte
et le renvoyer dans une nouvelle variable.
Merci d'avance à celui qui pourra m'aider.
Connexion ou Créer un compte pour participer à la conversation.
- Richard Lazaro
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 530
- Remerciements reçus 0
il y a 13 ans 8 mois #12279
par Richard Lazaro
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Réponse de Richard Lazaro sur le sujet Re:traitement d'une variable texte
Bonjour,
Au sein de cette communauté, nous ne réalisons pas des demandes mais aidons vraiment les gens.
Alors, je te propose de commencer un script et voici un peu de documentation pour cela :
msdn.microsoft.com/en-us/library/fk49wtc1.aspx
(même principe que l'opérateur -replace)
msdn.microsoft.com/en-us/library/system.string.isnullorempty
bytes.com/topic/c-sharp/answers/483446-how-utf-8-encode-string
Aprés, je ne connais pas ton niveau en PowerShell et dev .Net
Bien Cordialement,
Richard Lazaro.
Au sein de cette communauté, nous ne réalisons pas des demandes mais aidons vraiment les gens.
Alors, je te propose de commencer un script et voici un peu de documentation pour cela :
msdn.microsoft.com/en-us/library/fk49wtc1.aspx
(même principe que l'opérateur -replace)
msdn.microsoft.com/en-us/library/system.string.isnullorempty
bytes.com/topic/c-sharp/answers/483446-how-utf-8-encode-string
Aprés, je ne connais pas ton niveau en PowerShell et dev .Net
Bien Cordialement,
Richard Lazaro.
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Connexion ou Créer un compte pour participer à la conversation.
- haquet
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 13 ans 8 mois #12292
par haquet
Réponse de haquet sur le sujet Re:traitement d'une variable texte
# Bonjour
# Désolé pour mon post non conforme, voici mes points de blocage par rapport à mon projet
#
# ma variable de départ est du texte libre, avec des apostrophes et des guillemets.
# Je dois gérer les apostrophes et le format car les données seront déposées dans une base SQL.
#$F = 'ê é è' ç à' â €'
# traitement des apostrophes
# Cela fonctionne si il n'y a pas de guillemet dans la chaine, mais en cas de guillemet cela plante.
$F #chaine de départ ê é è' ç à 'â €
$F = \"$F\" -replace (\"'\",\"''\")
$F #chaine après traitement ê é è'' ç à ''â €
#Convertir UTF8 en SQL_Latin1_Général_CP1_CI_AS
# chaine transformée en binaire
$bytes = [System.Text.Encoding]::UTF8.GetBytes($F);
# puis si je re-transforme en HTF8 ça marche
$F2 = [System.Text.Encoding]::UTF8.Getstring($bytes);
# Il manque la conversion du genre :
#$convert = [System.Convert]::(28605).string($bytes);
# Mais j'ai un message d'erreur comme quoi la chaine est vide.
# Merci de votre aide
# Désolé pour mon post non conforme, voici mes points de blocage par rapport à mon projet
#
# ma variable de départ est du texte libre, avec des apostrophes et des guillemets.
# Je dois gérer les apostrophes et le format car les données seront déposées dans une base SQL.
#$F = 'ê é è' ç à' â €'
# traitement des apostrophes
# Cela fonctionne si il n'y a pas de guillemet dans la chaine, mais en cas de guillemet cela plante.
$F #chaine de départ ê é è' ç à 'â €
$F = \"$F\" -replace (\"'\",\"''\")
$F #chaine après traitement ê é è'' ç à ''â €
#Convertir UTF8 en SQL_Latin1_Général_CP1_CI_AS
# chaine transformée en binaire
$bytes = [System.Text.Encoding]::UTF8.GetBytes($F);
# puis si je re-transforme en HTF8 ça marche
$F2 = [System.Text.Encoding]::UTF8.Getstring($bytes);
# Il manque la conversion du genre :
#$convert = [System.Convert]::(28605).string($bytes);
# Mais j'ai un message d'erreur comme quoi la chaine est vide.
# Merci de votre aide
Connexion ou Créer un compte pour participer à la conversation.
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 968
- Remerciements reçus 0
il y a 13 ans 8 mois #12300
par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:traitement d'une variable texte
Bonsoir,
Je pense que si tu utilises les balises bbCode prévue pour le code, cela sera plus lisible et facilitera la tâche des membres de ce forum
Utilises les balises [ c o d e ] pour marquer le début de ton code et [/c o d e] pour fermer le code (j'ai mis des espaces délibérément afin que le forum ne les interprètes pas).
Exemple de ce que cela peut donner :
[code:1]#Convertir UTF8 en SQL_Latin1_Général_CP1_CI_AS
# chaine transformée en binaire
$bytes = [System.Text.Encoding]::UTF8.GetBytes($F);
[/code:1]
Aussi, évites les commentaires dans ton code et met les en dehors : ça sera encore plus simple à lire.
@ +
Matthew<br><br>Message édité par: Matthew BETTON, à: 2/07/12 20:10
Je pense que si tu utilises les balises bbCode prévue pour le code, cela sera plus lisible et facilitera la tâche des membres de ce forum
Utilises les balises [ c o d e ] pour marquer le début de ton code et [/c o d e] pour fermer le code (j'ai mis des espaces délibérément afin que le forum ne les interprètes pas).
Exemple de ce que cela peut donner :
[code:1]#Convertir UTF8 en SQL_Latin1_Général_CP1_CI_AS
# chaine transformée en binaire
$bytes = [System.Text.Encoding]::UTF8.GetBytes($F);
[/code:1]
Aussi, évites les commentaires dans ton code et met les en dehors : ça sera encore plus simple à lire.
@ +
Matthew<br><br>Message édité par: Matthew BETTON, à: 2/07/12 20:10
Connexion ou Créer un compte pour participer à la conversation.
- haquet
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 13 ans 8 mois #12317
par haquet
Réponse de haquet sur le sujet Re:traitement d'une variable texte
Ma variable de départ est du texte libre, avec des apostrophes et des guillemets.
Je dois gérer les apostrophes et le format car les données seront déposées dans une base SQL.
Le traitement des apostrophe fonctionne si il n'y a pas de guillemet dans la chaine, mais en cas de guillemet cela plante car les guillemets rompent la chaine de caractère.
chaine de départ ê é è' ç à 'â €
chaine après traitement ê é è'' ç à ''â €
Je cherche donc a traiter les guillement dans mon code
Je dois également Convertir UTF8 en SQL_Latin1_Général_CP1_CI_AS, mais j'ai un message d'erreur comme quoi la chaine est vide.
Merci de votre aide
[code:1]# traitement des apostrophes
#$F = 'ê é è' ç à' â €'
$F = \"$F\" -replace (\"'\",\"''\")
# chaine transformée en binaire > OK
$bytes = [System.Text.Encoding]::UTF8.GetBytes($F);
# pour test transformée de binaire en HTF8 > Ok
$F2 = [System.Text.Encoding]::UTF8.Getstring($bytes);
# conversion en latin 9 > KO
$convert = [System.Convert]:: (28605).string($bytes);
[/code:1]
Message édité par: Dan_H, à: 3/07/12 10:59<br><br>Message édité par: Dan_H, à: 3/07/12 12:33
Je dois gérer les apostrophes et le format car les données seront déposées dans une base SQL.
Le traitement des apostrophe fonctionne si il n'y a pas de guillemet dans la chaine, mais en cas de guillemet cela plante car les guillemets rompent la chaine de caractère.
chaine de départ ê é è' ç à 'â €
chaine après traitement ê é è'' ç à ''â €
Je cherche donc a traiter les guillement dans mon code
Je dois également Convertir UTF8 en SQL_Latin1_Général_CP1_CI_AS, mais j'ai un message d'erreur comme quoi la chaine est vide.
Merci de votre aide
[code:1]# traitement des apostrophes
#$F = 'ê é è' ç à' â €'
$F = \"$F\" -replace (\"'\",\"''\")
# chaine transformée en binaire > OK
$bytes = [System.Text.Encoding]::UTF8.GetBytes($F);
# pour test transformée de binaire en HTF8 > Ok
$F2 = [System.Text.Encoding]::UTF8.Getstring($bytes);
# conversion en latin 9 > KO
$convert = [System.Convert]:: (28605).string($bytes);
[/code:1]
Message édité par: Dan_H, à: 3/07/12 10:59<br><br>Message édité par: Dan_H, à: 3/07/12 12:33
Connexion ou Créer un compte pour participer à la conversation.
- haquet
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 13 ans 8 mois #12344
par haquet
Réponse de haquet sur le sujet Re:traitement d'une variable texte
J'ai trouvé une solution concernant l'encodage et la gestion des caractères accentués, les variables sont illisibles dans l'interface powershell mais s'affichent correctement dans mon application. 
Je cherche toujours à supprimer les lignes vides du texte se trouvant dans ma variable, si quelqu'un a une idée.
[code:1]
$bytes = [System.Text.Encoding]::UTF8.GetBytes($F);
$class = System.Text.Encoding]::default.GetString($bytes)
[/code:1]<br><br>Message édité par: Dan_H, à: 5/07/12 14:13
Je cherche toujours à supprimer les lignes vides du texte se trouvant dans ma variable, si quelqu'un a une idée.
[code:1]
$bytes = [System.Text.Encoding]::UTF8.GetBytes($F);
$class = System.Text.Encoding]::default.GetString($bytes)
[/code:1]<br><br>Message édité par: Dan_H, à: 5/07/12 14:13
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.050 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- traitement d'une variable texte