Casse majuscule après certains caractères

If you need help on how to use the program
Post Reply
Akhlan
Posts: 2
Joined: 2017-07-26 13:15:06

Casse majuscule après certains caractères

Post by Akhlan »

Bonjour,

je voudrais mettre une majuscule après certaines chaines de caractères comme par exemple après la chaîne " - " ou "... " (avec les espaces et sans les guillements)

Nova 24h - 07h00 - il est 7h... excuse-nous si on t'a réveillé c'est pas cool!

deviendrait

Nova 24h - 07h00 - Il est 7h... Excuse-nous si on t'a réveillé c'est pas cool!

Merci
Akhlan
antp
Site Admin
Posts: 9651
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

Bonjour,
C'est malheureusement une des lacunes de la version actuelle. Ça fait partie des améliorations que je devrais faire en priorité (mais aucune idée de quand je m'en occuperai : ça peut très bien n'arriver que dans des années).

Au pire avec la fonction de remplacement de chaînes multiples on peut contourner le problème en définissant les 26 remplacements possibles :
- a devient - A
- b devient - B
etc.
Et encore 26 de plus pour le point suivi de l'espace
Akhlan
Posts: 2
Joined: 2017-07-26 13:15:06

Post by Akhlan »

je vais voir ;) Merci ^^
Efcis
Posts: 3
Joined: 2018-12-30 15:13:54

Re: Casse majuscule après certains caractères

Post by Efcis »

Bjr

J'avais la même demande mais je pensais utiliser un méta caractère \U dans la chaine de substitution d'une RegExp.

Du genre : \U$1 pour remplacer la première "capture" par sa version en majuscule.

Hélas, ça n'est pas implémenté :-(

Je ne sais pas si c'est vous qui gèrez la substitution ou si c'est la lib tierce des RegExp qui le fait, mais si c'est vous, ce se serait p-e utile d'ajouter cette fonctionnalité (\U pour uppercase, \L pour lowercase).

Au fait, le lien dans l'aide vers la page de la lib concernant la syntaxe des RegExp est cassé (2.12).

Cdlt
antp
Site Admin
Posts: 9651
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Re: Casse majuscule après certains caractères

Post by antp »

Bonjour,
La substitution est aussi faite par la lib tierce.
Je ne connaissais même pas moi-même cette possibilité d'influencer sur la casse dans les regex, en effet ça pourrait être bien pratique.
Il faudrait que je regarde si quelque chose existe dans la lib pour ça, mais j'imagine que non : elle ne gère sans doute pas tout.

Merci pour l'info sur le lien mort, je pense que la nouvelle URL est la suivante:
https://regexpstudio.com/en/regexp_syntax.html
https://regexpstudio.com/fr/regexp_syntax.html
Je vais corriger ça pour la prochaine mise à jour
Efcis
Posts: 3
Joined: 2018-12-30 15:13:54

Re: Casse majuscule après certains caractères

Post by Efcis »

Bonjour

Merci de v/réponse.

En fait, il semblerait que ce soit (plus ou moins) supporté par la lib, à lire la description de la fonction Subsitute (et non Replace) dans la doc en ligne ici https://regexpstudio.com/en/tregexpr_interface.html

A vrai dire, je ne comprends pas bien à quoi sert cette fonction Substitute (par rapport à Replace), et je pense que vous utilisez Replace d'après un coup d'oeil rapide de vos sources.

D'autre part, peut-être que ces "modifiers" \U etc. listés sont récents dans la lib ?

En tous cas, ce serait formidable de les intégrer d'une façon ou d'une autre dans une prochaine version. D'avance merci !
antp
Site Admin
Posts: 9651
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Re: Casse majuscule après certains caractères

Post by antp »

Replace est un raccourci qui fait une bouche sur ExecNext / Substitute (cf ligne 3781 de RegExpr.pas, function TRegExpr.Replace)
Donc ça devrait déjà fonctionner avec le code actuel :??:

Je ne pense pas qu'il y ait eu d'ajouts dans la lib : la version que j'utilise semble être la dernière (celle de 2004-2005)
Efcis
Posts: 3
Joined: 2018-12-30 15:13:54

Re: Casse majuscule après certains caractères

Post by Efcis »

En consultant le code sur Github (https://github.com/masterandrey/TRegExp ... egExpr.pas), il semblerait qu'il y ait eu une issue sur le sujet https://github.com/masterandrey/TRegExpr/issues/2
antp
Site Admin
Posts: 9651
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Re: Casse majuscule après certains caractères

Post by antp »

Même si le numéro de version est le même, il semble qu'il y ait eu pas mal de changements dans la lib depuis le temps...
J'essaierai de recompiler avec la dernière version à l'occasion ;)
userk
Posts: 1
Joined: 2020-06-08 15:57:38

Re: Casse majuscule après certains caractères

Post by userk »

Efcis wrote: 2018-12-30 15:26:33 Bjr

J'avais la même demande mais je pensais utiliser un méta caractère \U dans la chaine de substitution d'une RegExp.

Du genre : \U$1 pour remplacer la première "capture" par sa version en majuscule.

Hélas, ça n'est pas implémenté :-(

Je ne sais pas si c'est vous qui gèrez la substitution ou si c'est la lib tierce des RegExp qui le fait, mais si c'est vous, ce se serait p-e utile d'ajouter cette fonctionnalité (\U pour uppercase, \L pour lowercase).

Au fait, le lien dans l'aide vers la page de la lib concernant la syntaxe des RegExp est cassé (2.12).

Cdlt
Bonjour,

Avez vous intégré la possibilité de changer de case par expression régulière (\U$1 \L$2 ou \U\1 \L\2) ?

Cordialement
antp
Site Admin
Posts: 9651
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Re: Casse majuscule après certains caractères

Post by antp »

Bonjour, désolé je n'ai toujours pas pris le temps de m'occuper de cela :/
Post Reply