[R] Conserver ce qui est concerné par la regex et enlever le reste
Posté : mar. 15 nov. 2016 16:53
Question du soir, bonsoir.
Avec Orax, on a avancé sur l'isolation des variables désirées avec la regex suivante:
Pouvez vous m'aider à créer un nouveau fichier avec les données de type
Voici le document initial.
Par curiosité, et c'était l'objectif de mon script à l'origine, pouvez vous m'expliquer comment "appeler" un tableau 2D svp? J'ai consulté l'aide et je n'ai trouvé aucun exemple annoté qui me permette de bien comprendre. A la base j'ai essayé en mixant plusieurs exemples de batir mon code mais ça ne fonctionne pas.
D'avance merci aux codeurs du soir :-p
Avec Orax, on a avancé sur l'isolation des variables désirées avec la regex suivante:
Pour ma part, j'ai travaillé aujourd'hui sur l'intégration de ces variables dans un tableau avec le script suivant (non fonctionnel):(?m)^([^ ]+) ([^ ]+) (.+?)(?:\s*\.\s)+0,00
$Var1 = FileRead (@ScriptDir&"\temp\858792101741_ListePieces.txt")
$aArray = StringRegExp($Var1, "(?m)^([^ ]+) ([^ ]+) (.+?)(?:\s*\.\s)+0,00", 3)
; crée un tableau sous la forme :
; *------------------------------------------------------*
; | Numéro | référence technique | Description
Global $aNumLigne[UBound($aArray) /3][3]
$j = 0
For $i = 0 To UBound($aArray) / 3 - 1
$aNumLigne[$i][0] = $aArray[$j + 2]
$aNumLigne[$i][1] = $aArray[$j + 1]
$aNumLigne[$i][2] = $aArray[$j]
$j += 2
Next
For $i = 0 To UBound($aNumLigne) - 1
msgbox("","",$aArray[1][1]) ; test pour vérifier la valeur de la ligne 2 croisée colonne 2 également
Next
$aArray = StringRegExp($Var1, "(?m)^([^ ]+) ([^ ]+) (.+?)(?:\s*\.\s)+0,00", 3)
; crée un tableau sous la forme :
; *------------------------------------------------------*
; | Numéro | référence technique | Description
Global $aNumLigne[UBound($aArray) /3][3]
$j = 0
For $i = 0 To UBound($aArray) / 3 - 1
$aNumLigne[$i][0] = $aArray[$j + 2]
$aNumLigne[$i][1] = $aArray[$j + 1]
$aNumLigne[$i][2] = $aArray[$j]
$j += 2
Next
For $i = 0 To UBound($aNumLigne) - 1
msgbox("","",$aArray[1][1]) ; test pour vérifier la valeur de la ligne 2 croisée colonne 2 également
Next
Code : Tout sélectionner
1000 481010582876 PORTE ASS. GR
1001 480120101448 CHARNIERE SCREW MINI2
1170 481949878366 AVM141-Poignée pour plat Crisp
etc.
N° Référence Description Qté Commentaire
1000 481010582876 PORTE ASS. GR. . . . . . . . . . 0,00
1001 480120101448 CHARNIERE SCREW MINI2. . . . . . 0,00
1170 481949878366 AVM141-Poignée pour plat Crisp . 0,00
1300 480120101791 CAME PLATE. . . . . . . . . . . 0,00
1301 480120101451 LEVIER. . . . . . . . . . . . . 0,00
1302 480120101452 SUPPORT. . . . . . . . . . . . . 0,00
1303 481231038739 INTERRUPTEUR + INTERS . . . . . 0,00
1304 481231038743 PION PORTE. . . . . . . . . . . 0,00
2460 480120101453 PLAT CRISP SMALL. . . . . . . . 0,00
2550 481246678412 PLATEAU TOURN. TOURNANT 25 cm. . 0,00
2640 481010422369 PLATEAU TOURN. CERCHIO MIBI GR/. 0,00
2641 481946238767 RAIL PLAT TOURN. . . . . . . . . 0,00
3010 481010582875 DOSSERET C+ IXL GR Mini2. . . . 0,00
3320 480120100884 POUSSOIR C+1. . . . . . . . . . 0,00
3321 480120100885 POUSSOIR C+2. . . . . . . . . . 0,00
3322 480120100782 POUSSOIR HINGES. . . . . . . . . 0,00
3500 481010364177 AFFICHEUR APRÈS: 46/10. . . . . 0,00
4040 481213158813 MAGNETRON. . . . . . . . . . . . 0,00
4120 480120100336 TRANSFORMATEUR HT. . . . . . . . 0,00
4200 481212158159 CONDENSATEUR. . . . . . . . . . 0,00
4220 481236158419 MOTEUR TT. . . . . . . . . . . . 0,00
4260 481221838323 DIODE AT. . . . . . . . . . . . 0,00
4400 480120101953 MOTEUR. . . . . . . . . . . . . 0,00
4520 480120101407 ELEM. CHAUFFANT 350W 115V. . . . 0,00
4521 481225998463 ROTISSOIRE. . . . . . . . . . . 0,00
4522 480120101247 PROTECTION GRILL. . . . . . . . 0,00
4800 481068977341 LIMANDE AFFICHEUR - PLAT PUISS. 0,00
4900 480120101164 CORDON SECTEUR. . . . . . . . . 0,00
5000 481010577756 PLATINE CONTROLE FREJA2 ACU GR-. 0,00
5610 480120100531 THERMOSTAT 130C. . . . . . . . . 0,00
6330 480120101578 INTERRUPTEUR. . . . . . . . . . 0,00
6520 481213418008 LAMPE. . . . . . . . . . . . . . 0,00
Micro-ondes encastrable - 858792101741 11/11/2016
Micro-ondes encastrable - Whirlpool - Micro-ondes encastrable - 858792101741 - AMW921IXL
1/2
7740 481244229206 PLAQUE MICA DE CAVITE. . . . . . 0,00
7741 481249148016 DOIGT INT.CAVITE. . . . . . . . 0,00
9220 481953268686 BAGUE. . . . . . . . . . . . . . 0,00
9300 481249268172 RESSORT TENSION LEVIER. . . . . 0,00
Micro-ondes encastrable - 858792101741 11/11/2016
Micro-ondes encastrable - Whirlpool - Micro-ondes encastrable - 858792101741 - AMW921IXL
2/2
Par curiosité, et c'était l'objectif de mon script à l'origine, pouvez vous m'expliquer comment "appeler" un tableau 2D svp? J'ai consulté l'aide et je n'ai trouvé aucun exemple annoté qui me permette de bien comprendre. A la base j'ai essayé en mixant plusieurs exemples de batir mon code mais ça ne fonctionne pas.
D'avance merci aux codeurs du soir :-p