OVH Cloud OVH Cloud

aide sur spli()

5 réponses
Avatar
kurtz_le_pirate
bonjour,

je tourne en rond. j'ai une ligne de ce type :

# P:\ancien profil tse\Application
Data\Microsoft\Protect\S-1-5-21-2070609968-1683644404-1563503735-1893;MSN_DOM\VADOR:RrRaRepWwAWaWePXDDcO[I]

j'ai besoin de récupérer 2 choses :
-> P:\ancien profil tse\Application Data\Microsoft\Protect
-> S-1-5-21-2070609968-1683644404-1563503735-1893

je ne vois pas comment decouper avec split.
peut-on dire split /"le dernier \"/ ?


merci

5 réponses

Avatar
Stéphane Müller
Tu peux utiliser les regexp:

$Str = '# P:ancien profil ...pWwAWaWePXDDcO[I]';
($First,$Second) = $Str =~ /# (.+)(.+);/;
print "=> $Firstn";
print "=> $Secondn";

Stéphane

"kurtz_le_pirate" a écrit dans le message de news:
4472d82e$0$22087$
bonjour,

je tourne en rond. j'ai une ligne de ce type :

# P:ancien profil tseApplication
DataMicrosoftProtectS-1-5-21-2070609968-1683644404-1563503735-1893;MSN_DOMVADOR:RrRaRepWwAWaWePXDDcO[I]

j'ai besoin de récupérer 2 choses :
-> P:ancien profil tseApplication DataMicrosoftProtect
-> S-1-5-21-2070609968-1683644404-1563503735-1893

je ne vois pas comment decouper avec split.
peut-on dire split /"le dernier "/ ?


merci



Avatar
Rue des Prairies
bonjour,

je tourne en rond. j'ai une ligne de ce type :

# P:ancien profil tseApplication
DataMicrosoftProtectS-1-5-21-2070609968-1683644404-1563503735-1893;MSN_DOMVADOR:RrRaRepWwAWaWePXDDcO[I]

j'ai besoin de récupérer 2 choses :
-> P:ancien profil tseApplication DataMicrosoftProtect
-> S-1-5-21-2070609968-1683644404-1563503735-1893

je ne vois pas comment decouper avec split.
peut-on dire split /"le dernier "/ ?


merci


Bonjour,


Tu peux t'en sortir avec une regex :
/^(.*)([^]+)$/
et tu récupères $1 et $2.

Olivier.

Avatar
Nicolas George
"kurtz_le_pirate" wrote in message
<4472d82e$0$22087$:
je ne vois pas comment decouper avec split.


Alors fais-le sans split. man File::Basename.

Avatar
kurtz_le_pirate
"Rue des Prairies" a écrit dans le message de
news: 44731952$0$20178$
bonjour,

je tourne en rond. j'ai une ligne de ce type :

# P:ancien profil tseApplication
DataMicrosoftProtectS-1-5-21-2070609968-1683644404-1563503735-1893;MSN_DOMVADOR:RrRaRepWwAWaWePXDDcO[I]

j'ai besoin de récupérer 2 choses :
-> P:ancien profil tseApplication DataMicrosoftProtect
-> S-1-5-21-2070609968-1683644404-1563503735-1893

je ne vois pas comment decouper avec split.
peut-on dire split /"le dernier "/ ?



voila ce que j'obtiens avec la méthode "Stéphane " :

=> P:ancien profil tseApplication DataMicrosoftProtect
=> S-1-5-21-2070609968-1683644404-1563503735-1893


et avec la méthode "Olivier" :
$1 = P:ancien profil tseApplication
DataMicrosoftProtectS-1-5-21-2070609968
-1683644404-1563503735-1893;MSN_DOM
$2 = GATES:RrRaRepWwAWaWePXDDcO[I]

merci pour vos réponses.


--
klp


Avatar
Rue des Prairies
"Rue des Prairies" a écrit dans le message de
news: 44731952$0$20178$
bonjour,

je tourne en rond. j'ai une ligne de ce type :

# P:ancien profil tseApplication
DataMicrosoftProtectS-1-5-21-2070609968-1683644404-1563503735-1893;MSN_DOMVADOR:RrRaRepWwAWaWePXDDcO[I]

j'ai besoin de récupérer 2 choses :
-> P:ancien profil tseApplication DataMicrosoftProtect
-> S-1-5-21-2070609968-1683644404-1563503735-1893

je ne vois pas comment decouper avec split.
peut-on dire split /"le dernier "/ ?



voila ce que j'obtiens avec la méthode "Stéphane " :

=> P:ancien profil tseApplication DataMicrosoftProtect
=> S-1-5-21-2070609968-1683644404-1563503735-1893


et avec la méthode "Olivier" :
$1 = P:ancien profil tseApplication
DataMicrosoftProtectS-1-5-21-2070609968
-1683644404-1563503735-1893;MSN_DOM
$2 = GATES:RrRaRepWwAWaWePXDDcO[I]

merci pour vos réponses.


--
klp




Mea culpa, je n'avais pas fait attention au séparateur ;


Olivier.