Extraction d'une phrases entre deux chaines de caractères fixe

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Icsy93
Niveau 1
Niveau 1
Messages : 6
Enregistré le : sam. 01 janv. 2022 14:45
Status : Hors ligne

Extraction d'une phrases entre deux chaines de caractères fixe

#1

Message par Icsy93 »

Bonjour,
Je suis assez nouveau sur Autoit et je ne trouve pas le moyen d'extraire des informations précise contenue dans le presse papier :

J'ai dans le presse papier :
....
....
....
Date : XX/XX/XXXX à XX:XX:XX
Nom : XXXXX
Prénom : XXXXX
Batiment : XXXXX
Etage : XXXX
Description de la demande :
Bonjour,
Je ...
Merci d'avance
Cordialement.
Niveau d'urgence : XXXXX
....
....
....
Je souhaite récupérer :
Bonjour,
Je ...
Merci d'avance
Sachant que la description de la demande comporte plusieurs lignes et fini toujours par "Cordialement."

Je n'arrive pas a extraire une phrases sur plusieurs lignes entre deux chaines de caractères fixe "Description de la demande :" & "Cordialement."

Pourriez vous m'aider s'il vous plait ? Merci d'avance
Modifié en dernier par Icsy93 le sam. 01 janv. 2022 18:03, modifié 2 fois.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Extraction d'une phrases entre deux chaines de caractères fixe

#2

Message par mikell »

L'idéal est d'utiliser une expression régulière pour extraire la partie voulue

$txt = ClipGet()
$res = StringRegExp($txt, '(?s)Description de la demande :\R(.*?)Cordialement', 1)
Msgbox(0,"", $res[0])
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Icsy93
Niveau 1
Niveau 1
Messages : 6
Enregistré le : sam. 01 janv. 2022 14:45
Status : Hors ligne

Re: Extraction d'une phrases entre deux chaines de caractères fixe  

#3

Message par Icsy93 »

mikell a écrit : sam. 01 janv. 2022 17:13 L'idéal est d'utiliser une expression régulière pour extraire la partie voulue

$txt = ClipGet()
$res = StringRegExp($txt, '(?s)Description de la demande :\R(.*?)Cordialement', 1)
Msgbox(0,"", $res[0])
Effectivement, je m'étais penché sur cette formule mais je n'arrivais pas à totalement son fonctionnement.
Merci beaucoup, c'est exactement ce dont j'avais besoin.
Répondre