Question
Extraction sous chaine
- david
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 59
- Remerciements reçus 0
il y a 17 ans 3 mois #3433
par david
Réponse de david sur le sujet Re:Extraction sous chaine
La méthode split me sépare bien les mots pour l'affichage.
$num.split('')renvoie
nom
prenom
numero
Mais quand je fais $num[4], il ne reconnait pas 3 chaines de caractères différentes mais une seule collant nom, prenom et numero et m'affiche le 4eme caractere de la chaine, idem pour $num[10]
$num.split('')renvoie
nom
prenom
numero
Mais quand je fais $num[4], il ne reconnait pas 3 chaines de caractères différentes mais une seule collant nom, prenom et numero et m'affiche le 4eme caractere de la chaine, idem pour $num[10]
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 17 ans 3 mois #3434
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:Extraction sous chaine
Bonjour Dav,
As tu bien mis un espace entre tes guillemets ?
Peux tu poster ton code complet stp ?
Arnaud
As tu bien mis un espace entre tes guillemets ?
Peux tu poster ton code complet stp ?
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.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 17 ans 3 mois #3436
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Extraction sous chaine
Arnaud écrit:
[code:1]
$source.Split.OverloadDefinitions
System.String[] Split(Params Char[] separator)
System.String[] Split(Char[] separator, Int32 count)
System.String[] Split(Char[] separator, StringSplitOptions options)
System.String[] Split(Char[] separator, Int32 count, StringSplitOptions options)
System.String[] Split(String[] separator, StringSplitOptions options)
System.String[] Split(String[] separator, Int32 count, StringSplitOptions options)
[/code:1]
ce qui nous donne
[code:1]
$source = \"[stop]ONE[stop][stop]TWO[stop][stop][stop]THREE[stop][stop]\";
[string[]] $stringSeparators = @(,\"[stop]\"«»)
$OFS=[String]::Empty
$Source.split($stringSeparators,[StringSplitOptions]::None)
[/code:1]
Par contre en v2 ceci plante :
[code:1]
$Source.split($stringSeparators,[StringSplitOptions]::RemoveEmptuEntries)
#Contournement
$Source.split($stringSeparators,[StringSplitOptions]::None)|Where {$_ -ne [String]::Empty}
[/code:1]
Voir :
www.manning.com/payette/payette_ch10.pdf
[code:1]
\"First,Second;Third\".Split(',;')
[/code:1]
Si je peux me permettre une remarque, il faut regarder les surcharges de la méthode split :On ne peut pas utiliser un type String comme délimiteur...
[code:1]
$source.Split.OverloadDefinitions
System.String[] Split(Params Char[] separator)
System.String[] Split(Char[] separator, Int32 count)
System.String[] Split(Char[] separator, StringSplitOptions options)
System.String[] Split(Char[] separator, Int32 count, StringSplitOptions options)
System.String[] Split(String[] separator, StringSplitOptions options)
System.String[] Split(String[] separator, Int32 count, StringSplitOptions options)
[/code:1]
ce qui nous donne
[code:1]
$source = \"[stop]ONE[stop][stop]TWO[stop][stop][stop]THREE[stop][stop]\";
[string[]] $stringSeparators = @(,\"[stop]\"«»)
$OFS=[String]::Empty
$Source.split($stringSeparators,[StringSplitOptions]::None)
[/code:1]
Par contre en v2 ceci plante :
[code:1]
$Source.split($stringSeparators,[StringSplitOptions]::RemoveEmptuEntries)
#Contournement
$Source.split($stringSeparators,[StringSplitOptions]::None)|Where {$_ -ne [String]::Empty}
[/code:1]
Voir :
www.manning.com/payette/payette_ch10.pdf
[code:1]
\"First,Second;Third\".Split(',;')
[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 17 ans 3 mois #3439
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Extraction sous chaine
Laurent Dardenne écrit:
[code:1]$Source.split($stringSeparators,[StringSplitOptions]::RemoveEmptyEntries)[/code:1]
Cela fonctionne correctement et renvoi le tableau suivant :
[code:1]ONE
TWO
THREE[/code:1]
Je ne devais pas être réveillé, le pb provennait d'une faute de frappe :Par contre en v2 ceci plante :
[code:1]$Source.split($stringSeparators,[StringSplitOptions]::RemoveEmptyEntries)[/code:1]
Cela fonctionne correctement et renvoi le tableau suivant :
[code:1]ONE
TWO
THREE[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- david
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 59
- Remerciements reçus 0
il y a 17 ans 3 mois #3449
par david
Réponse de david sur le sujet Re:Extraction sous chaine
C'est bon merci à tous, tout fonctionne !
Maintenant je suis passez à une nouvelle étape, lister tout les membres d'un groupe en affichant certaines de leurs attributs. Je m'attaque au foreach... Pas évident les débuts
Maintenant je suis passez à une nouvelle étape, lister tout les membres d'un groupe en affichant certaines de leurs attributs. Je m'attaque au foreach... Pas évident les débuts
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.070 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Extraction sous chaine