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 :

problème d'expressions réguliaires


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1
    Par défaut problème d'expressions réguliaires
    Bonjour,

    j'ai besoin d'un expert en expression régulière, mon problème est le suivant :

    j'ai un tableau contenant les chaines de caractères suivantes :

    ("JohnWo","LeeWungChu","LiaiWongTranTig") et je veux avoir comme résultat ("John Wo","Lee Wung Chu","Liai Wong Tran Tig")

    J'ai essayé des trucs du style : $_=~s/([A-Z].*)/ $1/g; mais ça me fait juste un espace devant : " JohnWo"

    Merci

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 605
    Par défaut
    Essaie ceci pour voir (ça marche chez moi) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    @_ = ("JohnWo","LeeWungChu","LiaiWongTranTig");
     
    foreach(@_)
    {
    	print "$_ ---> ";
    	while($_ =~ /(.+[^ ])([A-Z].+)/)
    	{
    		$_ = "$1 $2";
    	}
    	print "$_\n";
    }
    Pour traduire mon bout de code : tant que $_ contient quelque chose qui n'est pas un espace juste avant une majuscule, alors on rajoute un espace avant cette majuscule.

    Ce qui donne en sortie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    JohnWo ---> John Wo
    LeeWungChu ---> Lee Wung Chu
    LiaiWongTranTig ---> Liai Wong Tran Tig

  3. #3
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Peut-être que simplement changer la logique un peu serait une meilleure idée...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    s/(?<=[^ ])([A-Z])/ $1/g
    --
    Jedaï

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 605
    Par défaut
    Éventuellement

Discussions similaires

  1. Problème Outlook Express et Windows ME
    Par annedeblois dans le forum Outlook Express / Windows Mail
    Réponses: 2
    Dernier message: 04/04/2006, 13h51
  2. [regexp] petit problème d'expression régulière
    Par LE NEINDRE dans le forum Langage
    Réponses: 14
    Dernier message: 16/12/2005, 10h33
  3. Problème d'expression régulière
    Par SiM07 dans le forum Langage
    Réponses: 2
    Dernier message: 02/12/2005, 17h57
  4. Problème d'expression régulière
    Par Pymm dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 11/10/2005, 15h04
  5. Problème d'expression régulière
    Par Neitsa dans le forum Général Python
    Réponses: 3
    Dernier message: 11/08/2005, 14h29

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