Question aide sur une condition

Plus d'informations
il y a 9 ans 2 mois #23367 par flavien
aide sur une condition a été créé par flavien
Bonjour, je désire utiliser une condition pour attribuer une valeur a une variable en fonction d'une partie d'un mot trouvé dans une chaine de caractère de ma textbox.

[code:1]$a = $matextbox.text

switch -regex ($a)
{
\"[think]\" {$variable1= 'L'}
\"[pad]\" {$variable1 ='G'}
}[/code:1]


J'imagine que le code doit être dans ce style.
Merci d'avance.
Cordialement,

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

Plus d'informations
il y a 9 ans 2 mois #23373 par xyz
Réponse de xyz sur le sujet Re:aide sur une condition
Salut,
flav631 écrit:

J'imagine que le code doit être dans ce style.

Presque :
[code:1]
\"kniht\" -match \"[think]\"
#true
[/code:1]
Les crochets sont des métacaractères :
[code:1]
\"kniht\" -match \"think\"
#false
\"think\" -match \"think\"
#true
[/code:1]
Et ton switch doit gérer les cas où la chaine répond à plusieurs regex :
[code:1]
$a='ThinkPad'
$variable1=$null
switch -regex ($a)
{
\"think\" {$variable1= 'L'} #;continue}
\"pad\" {$variable1 ='G'} #;continue}
}
$variable1
#G
[/code:1]

Tutoriels PowerShell

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

Plus d'informations
il y a 9 ans 2 mois #23375 par flavien
Réponse de flavien sur le sujet Re:aide sur une condition
Merci Laurent pour ton explication ça fonctionne.

Dernière petite question le [code:1]#;continue [/code:1]# est equivalent à[code:1]{continue}[/code:1] pour faire une boucle si j'enlève le #?

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

Plus d'informations
il y a 9 ans 2 mois #23378 par xyz
Réponse de xyz sur le sujet Re:aide sur une condition
Pas de notion de boucle ici.
L'instruction continue est plus une rupture de séquence. Sans le continue toutes les regex sont exécutées les unes à la suite des autres, dans ton cas la dernière qui réussie renseigne la variable.

3 exemples :
[code:1]
'ThinkPad','ThinkPad2','Pad','z'|% {
$a=$_
$variable1=$null
switch -regex ($a)
{
\"think\" {\"step 1\"; $variable1= 'L'} #;continue}
\"pad\" {\"step 2\"; $variable1 ='G'} #;continue}
}
$variable1
}

'ThinkPad','ThinkPad2','Pad','z'|% {
$a=$_
$variable1=$null
switch -regex ($a)
{
\"think\" {\"step 1\"; $variable1= 'L' ;continue}
\"pad\" {\"step 2\"; $variable1 ='G' ;continue}
}
$variable1
}

'ThinkPad','ThinkPad2','Pad','z'|% {
$a=$_
$variable1=$null
switch -regex ($a)
{
\"think\" {\"step 1\"; $variable1= 'L' ;Break}
\"pad\" {\"step 2\"; $variable1 ='G' ;Break}
}
$variable1
}
[/code:1]
break et continue ont le même comportement ici et avec foreach également.
Il faut relire la doc pour être certains de ce comportement, je ne la connais pas par coeur :P<br><br>Message édité par: Laurent Dardenne, à: 24/03/17 17:25

Tutoriels PowerShell

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

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