Page 1 sur 1

[R] Chercher une valeur dans une variable

Posté : jeu. 20 sept. 2007 11:17
par corrs78
je récupère le nom réseau :

Code : Tout sélectionner

$NomReseau = @ComputerName

;Admettons qu'ont puisse avoir ces résultats:
;(valeur = PC_78_MAISON1)
;(valeur = ORDI_91_CHAMBRE)

;En fait je veux tester si, on trouve 78 ou 91 dans la variable.

Select
case $NomReseau = ( %FIXE%)Then
Msgbox(64,"","C'est un ordinateur des yvelines")

case $NomReseau = ( %FIXE%)Then
Msgbox(64,"","C'est un ordinateur de l'essonne")
Mon problème, je n'arrive pas à détecter si seulement une partie de ma variable est détecté dans la variable testée.
Merci

Posté : jeu. 20 sept. 2007 21:18
par sylvanie
et bien regexp toujours, avec tous les post dernièrement sur ce sujet, faut s'y mettre ;)

Code : Tout sélectionner

$reseau = 'F - PREF78 - 3100 P - SECRT91 - 3252 ' 
$departement = StringRegExp ( $reseau , ' - ( \w + ) - ' , 3 ) 
if IsArray ( $departement ) then 
for $ind = 0 to UBound ( $departement ) - 1 
ConsoleWrite ( $departement[$ind]&@CRLF ) 
Next 
EndIf  
si tu veux t'execer sur les regexp sans avoir à relancer des scripts à tout va, utilise StringRegExpGUI.au3 dispo dans le repertoire Helpfile, ou alors utilise le testeur de regexp inclu dans textcrawler, gratuit, super , efficace ... oui j'aime ce soft :p

Posté : jeu. 20 sept. 2007 21:55
par Tlem
Il est clair, que l'utilisation des expressions régulières, apporte pas mal de facilités sur certains points, mais tous le monde ne maitrise pas cela comme certains ...

En restant classique, et vu le format des noms réseau, j'aurais plutôt utilisé _StringBetween pour extraire la chaine entre les 2 tirets.

Code : Tout sélectionner

#include <String.au3> 
$reseau = 'F - PREF78 - 3100' 
$departement = _StringBetween ( $reseau , ' - ' , ' - ' ) 
ConsoleWrite ( $departement[0]&@CRLF )


J'avoue que le Regexp me rebute à l'apprentissage (C'est surement dut à l'age ;) )