GBEPad
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le deal à ne pas rater :
Jeux, jouets et Lego : le deuxième à -50% (large sélection)
Voir le deal

Fonction recherche & comptage

2 participants

Aller en bas

Fonction recherche & comptage Empty Fonction recherche & comptage

Message  Aguire Lun 7 Juil - 13:19

Bonjour.

Bravo pour GBEPad, complet et permettant beaucoup.

J'aurais cependant besoin d'un petit coup de main pour sur les operateurs de la fonction recherche.

Voila j'ai un fichier format *.txt, je souhaite savoir combien de lignes contiennent à la fois les valeurs, par exemple 1 et 149, sachant que les valeurs sont separées par des point virgules, du genre :

0;a;c;1;f;12,h;36;k;149
1;b;c;t;141;x;168;y;171;z

Chaque ligne ayant toujour le meme nombre de données separées par les ;

Voila + Smile

Aguire

Messages : 5
Date d'inscription : 07/07/2008
Localisation : France

Revenir en haut Aller en bas

Fonction recherche & comptage Empty Re: Fonction recherche & comptage

Message  Admin Lun 7 Juil - 22:59

Bonsoir,

Pour répondre à votre besoin, vous pouvez utiliser la recherche avec les expressions régulières.
Ouvrez votre fichier sous GBEPad, puis faites "Edition/Rechercher/Rechercher".
La boite de dialogue de recherche s'affiche.
Saisissez alors la chaines de caractères suivantes dans la zone "Rechercher" :
(;1;.*;149(;|$))|(;149;.*;1(;|$))

Cochez ensuite la case "Expression régulière" et validez par OK.

La recherche s'effectue. Toutes les occurrences trouvées (et leur nombre total) sont affichées. Vous avez plusieurs actions possibles en faisant un clic droit sur le résultat de la recherche (par exemple créer un nouveau fichier à partir du résultat de la recherche, supprimer les lignes impactées par la recherche etc...).

Si vous n'êtes pas familiarisé avec les expressions régulières, petite explication de celle présentée :
Il faut la décomposer en 2. Chacune des parties se trouve entre parenthèses. Le signe | entre les deux parties signifie "ou".
Par conséquent seront retournée toutes les lignes qui contiennent :
(;1;.*;149(;|$)) signifie une chaine de la forme ;1; suivie de 0 ou n caractères puis ;149 suivi d'un ; ou de la fin de ligne
ou
(;149;.*;1(;|$)) signifie une chaine de la forme ;149; suivie de 0 ou n caractères puis ;1 suivi d'un ; ou de la fin de ligne

Voilà... Very Happy Indiquez moi si cela répond à votre besoin.

Cordialement,
Grégory

Admin
Admin

Messages : 78
Date d'inscription : 25/10/2007

https://gbepad.forumpro.fr

Revenir en haut Aller en bas

Fonction recherche & comptage Empty Re: Fonction recherche & comptage

Message  Aguire Mer 9 Juil - 14:09

Bonjour.

Merci pour cette reponse precise, les expressions regulieres permettent en effet bien des choses, cela demande une petite gymastique preparatoire, avant de les imbriquer au mieux.

J'utilise pour parfaire mon apprentissage, une partie de ce que vous m'avez exposé en exemple:

(;1;.*;149(;|$)) signifie une chaine de la forme ;1; suivie de 0 ou n caractères puis ;149 suivi d'un ; ou de la fin de ligne

En forcant les tests, je me suis aperçu "d'un cas de recherche" qui m'échappe mommentanement .
Juste une modif dans les expressions regulieres, un bon exercice pour comprendre celles ci justement .

Le cas suivant:
;1;149;b;10;g;246;

Si le premier element de recherche (1) et suivis juste apres le point virgule du segond (149).

( donc on recherche le premier element entouré de deux ; ensuite le segond celui cette fois precedé d'un ; suivi d'un ; ou de la fin de ligne).

Voila je vais "essayer" de trouver la bonne expression reguliere à cela.


Les options une fois la recherche effectué, sont elles aussi interressantes, sauvegarder ou faire un nouveau fichier des resultats, cela facilement .

@+ Smile

Aguire

Messages : 5
Date d'inscription : 07/07/2008
Localisation : France

Revenir en haut Aller en bas

Fonction recherche & comptage Empty Recherche 2 Valeurs

Message  Aguire Mar 15 Juil - 11:45

Bonjour.

Voici l'espression reguliere qui me permet de trouver le nombre de lignes/occurences contenant 3 chaines/valeurs/caracteres recherchés (1 - 200 - 650 ):

(;1;200;650;)|(;1;.*;200;.*;650(;|$))|(;1;200;.*;650(;|$))|(;10;.*;200;650(;|$))

L'affaire doit se compliquer un peu plus pour une recherche de 4, 5 ou plus !

Je tente quand meme de m'y lancer.

@ + Smile

Aguire

Messages : 5
Date d'inscription : 07/07/2008
Localisation : France

Revenir en haut Aller en bas

Fonction recherche & comptage Empty Re: Fonction recherche & comptage

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum