2 votes

Comment utiliser Regex pour convertir la lettre initiale d'une chaîne en majuscule ?

Étant donné un groupe de chaînes de caractères dans un éditeur (par exemple, Rubymine ou IntelliJ) qui ressemble à ceci :

liste : ["obligatoire", "à déterminer au moment de l'entrée", "masque respiratoire, gants, combinaison, etc.]

Comment puis-je utiliser la fonction intégrée de recherche et de remplacement de l'expression Regex pour convertir le nom de l'utilisateur en un nom de domaine. initial lettre à supérieur cas ?

A ceci :

liste : ["Obligatoire", "À déterminer au moment de l'entrée", "Respirateur, gants, combinaison, etc.]

NOTE : Le "TBD" doit rester "TBD" et non "Tbd".

2voto

Jon Kern Points 796

(IntelliJ et RubyMine ont des règles de regex Java en vigueur je crois).

(Pour mon futur moi) J'ai utilisé la regex suivante :

Recherche : "(?)([a-z])

Remplacer : "\U$1\E

BTW : Je n'ai pas réussi à comprendre pourquoi les lettres majuscules étaient également sélectionnées. (haussement d'épaules)

enter image description here

Et ça a marché !

2voto

Wiktor Stribiżew Points 100073

Vous pouvez faire correspondre toute lettre minuscule précédée d'un signe " :

Recherche :    (?<=")\p{Ll}
Remplacer\U$0

Voir le Démonstration de regex . Vérifier Cas d'allumage pour s'assurer de ne faire correspondre que des lettres minuscules.

Détails

  • (?<=") - un regard positif derrière soi qui garantit que le char précédent est un "
  • \p{Ll} - toute lettre minuscule Unicode.

Notez que \U - opérateur de conversion en majuscules - ne nécessite pas l'ajout de la terminaison \E si vous ne devez pas restreindre son champ d'application et $0 La référence arrière fait référence à la valeur de correspondance entière, il n'est pas nécessaire d'envelopper le motif entier avec un groupe de capture.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X