[R] Lire entre des parenthèses

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

[R] Lire entre des parenthèses

#1

Message par TT22 »

Bonjour,
Je voudrais que quelqu'un m'aide à créer un script qui permettrait de lire un fichier texte et de garder seulement ce qu' il y a écrit entre parenthèses.

Merci d'avance.
Modifié en dernier par TT22 le lun. 27 juin 2011 16:22, modifié 1 fois.
Cordialement,
TT22
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Lire entre des parenthèses

#2

Message par jchd »

Le principe de base est là :
► Afficher le texte
Par contre, s'il te faut gérer des parenthèses sur plusieurs niveaux (comment ?), il faut avoir recours à une technique moins élémentaire, mais toujours possible en PCRE.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [..] Lire entre des parenthèses

#3

Message par TT22 »

Je comprend pas très bien comment ça fonctionne :oops:
Cordialement,
TT22
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Lire entre des parenthèses

#4

Message par jchd »

Voir l'aide sur StringRegExp.

Ah oui, l'aide c'est la touche F1 :mrgreen:

Edit : bon alors on se fait ça vite, hein.
Disons que le pattern c'est "(?mx) \( ( [^ \) ] * ) \)"
J'ai rajouté ici l'option x pour pouvoir introduire des espaces non significatifs dans le pattern, pour la lisibilité.
Décomposons ce Lego™®.
(?mx) sont des options : m pour "multiline" pour traiter plusieurs lignes d'un coup et x déjà vu
\( matche un caractère (
( début du groupe de capture
[^ \) ] matche "tout caractère qui n'est pas )"
* répété zéro ou plus
) fin du groupe de capture
\) matche la parenthèse fermante

L'option 3 de StringRegExp ré-applique ce pattern (et sa capture) autant de fois que possible dans la chaîne sujet.
Le tableau résultant contient donc toutes les chaînes de caractères qui figurent entre parenthèses dans la chaîne sujet.
On concatène ce tableau et on obtient ce que tu voulais initialement.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [..] Lire entre des parenthèses

#5

Message par TT22 »

Ok, merci beaucoup.
Cordialement,
TT22
Avatar du membre
TopXm
Niveau 6
Niveau 6
Messages : 260
Enregistré le : mer. 25 mai 2011 16:37
Localisation : Usa
Status : Hors ligne

Re: [R] Lire entre des parenthèses

#6

Message par TopXm »

Bonjour,

Le _StringBetween n'irait pas dans ce cas ?
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] Lire entre des parenthèses

#7

Message par jchd »

Certes mais avec une boucle et un découpage à chaque itération... Tortueux.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Lire entre des parenthèses

#8

Message par mikell »

Google traduction a écrit :pattern = motif, modèle, forme
match = répondre à, être l'égal de, correspondre à
Lego = casse-tête suédois
:mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [R] Lire entre des parenthèses

#9

Message par TT22 »

mikell a écrit :Lego = casse-tête suédois
Lego ça vient pas plutôt du Danemark ?
Cordialement,
TT22
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Lire entre des parenthèses

#10

Message par mikell »

Si ....
tiens regarde ça qui vient tout droit du fichier d'aide :

Code : Tout sélectionner

#include <String.au3>
#include <Array.au3>

$string = "[18][20][3][5][500][60]"
$aArray1 = _StringBetween($string, "[", "]")
_ArrayDisplay($aArray1, 'Default Search')
c'est pas beautiful ça ? c'est pas amazing ? :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] Lire entre des parenthèses

#11

Message par jchd »

Certes, mais as-tu regardé ce que faisait _StringBetween en réalité ?
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Lire entre des parenthèses

#12

Message par mikell »

oui y a comme un air de famille :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] Lire entre des parenthèses

#13

Message par jchd »

N'est-ce pas, mais avec trois regexps au lieu d'une.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Répondre