Page 1 of 1
Casse majuscule après certains caractères
Posted: 2017-07-26 13:21:58
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
Posted: 2017-07-27 17:43:43
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
Posted: 2017-07-27 23:23:18
by Akhlan
je vais voir

Merci ^^
Re: Casse majuscule après certains caractères
Posted: 2018-12-30 15:26:33
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
Re: Casse majuscule après certains caractères
Posted: 2019-01-01 15:45:54
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
Re: Casse majuscule après certains caractères
Posted: 2019-01-01 18:15:58
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 !
Re: Casse majuscule après certains caractères
Posted: 2019-01-01 19:01:51
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)
Re: Casse majuscule après certains caractères
Posted: 2019-01-01 20:07:17
by Efcis
Re: Casse majuscule après certains caractères
Posted: 2019-01-01 20:52:44
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

Re: Casse majuscule après certains caractères
Posted: 2020-06-08 16:00:52
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
Re: Casse majuscule après certains caractères
Posted: 2020-06-09 06:21:46
by antp
Bonjour, désolé je n'ai toujours pas pris le temps de m'occuper de cela
