IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

Cherche regex pour convertir texte tout en majuscules en phrases Maj/minuscules


Sujet :

Langage Perl

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 346
    Points : 119
    Points
    119
    Par défaut Cherche regex pour convertir texte tout en majuscules en phrases Maj/minuscules
    Bonjour,

    J'aimerai convertir automatiquement un texte tout en majuscules en phrases commençant par une majuscule (c-à-d. après un point) et le reste en minuscules.

    Je sais le faire avec une boucle for, mais y-a-t-il moyen de le faire via une regex optimisée pour cela?

    Merci d'avance, bonne journée

    Eric

  2. #2
    Membre confirmé
    Avatar de Schmorgluck
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    371
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2006
    Messages : 371
    Points : 558
    Points
    558
    Par défaut
    S'il n'y a pas de sauts de lignes au milieu de tes phrases, ça devrait marcher avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $texte =~ s/(\s*\w)([^.!?]*[.!?])/\U$1\L$2/g
    S'il y a des sauts de ligne en milieu de phrase, c'est un peu plus compliqué, il faut que je potasse mon bouquin.

  3. #3
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    tu as les fonction lc, lcfirst, uc, ucfirst pour ça

    lc => minuscule
    uc => majuscule

    sinon via les regex \L et \U
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    #!/usr/bin/perl
    use strict;
    use Carp;
    use warnings;
     
    my $toto = "BONJOUR SPLUG";
    print lc($toto),"\n";
    print lcfirst($toto),"\n";
    print uc($toto),"\n";
    print ucfirst($toto),"\n";
     
    #regex \L => minuscule, \U => majuscule
    $toto =~ s/(.+)/\L$1/gi;
    print $toto,"\n"; 
     
    $toto =~ s/(.+)/\U$1/gi;
    print $toto,"\n";

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 346
    Points : 119
    Points
    119
    Par défaut
    Merci à vous deux.

    mon texte étant dans une liste, voici ce que j'ai fait (et qui semble fonctionner dans mes cas d'utilisation):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    my $texte = join(m/-NEWLINE-/,@{$rTxt});
    $texte =~ s/(\s*\w)([^.!?]*[.!?])/\U$1\L$2/g;
    @{$rTxt}=split(m/-NEWLINE-/,$texte);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Cherche logiciel pour convertir .Bmp ou .jpeg en .Lws
    Par cétoicémoi dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 04/09/2012, 14h35
  2. Cherche outil pour convertir PPT en flash interactif
    Par Carmiel dans le forum Powerpoint
    Réponses: 3
    Dernier message: 19/01/2012, 02h48
  3. MemoryError, pour un texte tout à fait court!?
    Par guiguizekid dans le forum Général Python
    Réponses: 1
    Dernier message: 07/01/2009, 23h36
  4. cherche code pour convertir un décimal en base 35
    Par coufcouf dans le forum Langage
    Réponses: 2
    Dernier message: 05/03/2007, 15h44
  5. [MS-DOS] Une commande DOS pour convertir un texte en OEM
    Par Furius dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 30/12/2005, 19h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo