Caractère générique

If you need help on how to use the program
Post Reply
faboss
Posts: 3
Joined: 2022-11-11 16:41:12

Caractère générique

Post by faboss »

Bonjour,
Je souhaite effectuer un remplacement de chaîne de plusieurs fichiers dans lesquels seul un caractère diffère.
Existe-t-il un caractère générique du style "?" qui saurait être interprété par Ant Renamer ?

J'ai trouvé ce topic qui date de 2003 :
viewtopic.php?p=5128&hilit=g%C3%A9n%C3%A9rique#p5128

Peut être y a t'il eu une évolution depuis...

Merci pour ce fabuleux outils que j'utilise depuis tant d'années :grinking:
antp
Site Admin
Posts: 9651
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Re: Caractère générique

Post by antp »

Bonjour,
On peut faire ça probablement facilement avec les expressions rationnelles (regular expressions)
Si besoin d'aide (comme c'est assez compliqué pour les non-initiés) je peux donner la marche à suivre sur base d'une description précise ou d'un exemple de la modification voulue.
Désolé pour le délai de la réponse, je ne passe que de temps en temps sur le forum ;)
faboss
Posts: 3
Joined: 2022-11-11 16:41:12

Re: Caractère générique

Post by faboss »

Pas de soucis pour le délais :)

Entre temps je me suis débrouillé manuellement.

En fait depuis plusieurs années, je me demande comment utiliser des caractères génériques, bien pratiques, dans ton outil.
Comme par exemple :
* : pour une chaîne de caractère
? : pour un seul caractère

Un fonctionnement à la manière de la recherche de fichiers sous windows serait idéal.

Toto*.txt
=> renvoie les fichiers txt commençant par Toto, peu importe ce qui suit.

Toto?.txt
=> renvoie les fichiers txt commençant par Toto suivi d'un seul caractère, peu importe lequel.
antp
Site Admin
Posts: 9651
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Re: Caractère générique

Post by antp »

Ça dépend ce qu'on veut faire. Difficile de donner des explications vraiment simples sans cas concret...
Si on veut par exemple remplacer tous ce qui contient "Toto" suivi de 4 chiffres par "Bob", sans les 4 chiffres :
expression = (.*)Toto\d{4}(.*)
nouveau nom = $1$2
Dans les expressions rationnelles, on a :
- les parenthèses pour indiquer les groupes à capturer (réutilisés avec $ + numéro du groupe dans le nouveau nom)
- le point qui indique "n'importe quel caractère" ; pour un vrai point, on utilise \. ; idem pour représenter le caractère "parenthèse", ça devient \( ou \)
- * pour indiquer "0 ou plusieurs occurrences de ce qui précède ; on a aussi ? pour indiquer "0 ou 1 occurrence" et + pour indiquer "1 ou plusieurs occurrences" ; donc l'équivalent du ? de Windows est .? et * est .*
- \d indique un nombre ; il y a aussi \w pour les indiquer lettre+chiffre
- { } pour indiquer le nombre d'occurrences ; \d{4} = 4 chiffres ; on peut aussi mettre un min et un max : \d{2,4} = de 2 à 4 chiffres
Il y a encore plein d'autres choses, par exemple [ ] pour les ensembles de caractères : [aeiouy] = une voyelle, [^aeiouy] = une consonne, [a-g] = une lettre entre a et g (accents exclus), à combiner avec ? ,* ou { } pour en avoir plusieurs.
On peut aussi avoir un "ou" : (toto|tata) pour indiquer qu'on doit trouver toto ou tata à cet endroit
Plus d'infos : https://regex.sorokin.engineer/fr/lates ... sions.html
faboss
Posts: 3
Joined: 2022-11-11 16:41:12

Re: Caractère générique

Post by faboss »

Merci pour les explications et pour le lien :grinking:
Ça va m'aider !
Post Reply