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

Python Discussion :

Séparé 'nom prénom' en 'nom' et 'prénom'


Sujet :

Python

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 17
    Par défaut Séparé 'nom prénom' en 'nom' et 'prénom'
    Salut,
    voila j'aimerai faire cette action :


    if nomcomplet = 'Thomas Dupont'
    alors nom1 = 'Thomas'
    nom2 = 'Dupont'

    J'aimerai réussir à séparer 'Thomas Dupont' en 'Thomas' et 'Dupont'.

    Sachant que nomcomplet peut etre n'importe quoi, mais toujours avec un espace entre les deux termes.

    nomcomplet = 'Ciel Bleu' =>
    nom1 = 'Ciel'
    nom2 = 'Bleu'

    etc...

    J'ai essayé de faire ça avec une boucle for et une boule while, pour repérer l'espace ' ' mais je n'y arrive pas :::[
    Merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 38
    Par défaut
    salut,
    utilise la fonction split :

    prenom = nomcomplet.split(' ')[0]
    nom = nomcomplet.split(' ')[1]

    @+

  3. #3
    Membre émérite
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 758
    Par défaut
    Bonjour,

    tu trouveras dans le lien suivant tout un tas de fonctions permettant de manipuler les chaines de caractères en python:

    http://www.python.org/doc/2.5.2/lib/string-methods.html

    celle dont tu as besoin c'est split .

    edit: désolé, je n'avais pas vu la réponse précédente

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 271
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    prenom, nom = nomcomplet.split(' ',1)

    Et pour sécuriser le split :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if ' ' in nomcomplet:
      prenom, nom = nomcomplet.split(' ',1)

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut Avec une fonction très utile à connaître
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if ' ' in nomcomplet:
        prenom,sep,nom = nomcomplet.partition(' ')
    partition() renvoie un triplet
    on peut faire ainsi par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    prenom = nomcomplet.partition(' ')[0]
    Mais je pense que split() est meilleure pour traiter par exemple Jean Edouard Bertin de la Motte Erthou car la liste produite par split() permet de faire un test sur chaque item de la liste pour savoir si c'est un prénom, un nom ou un mot comme 'de' 'la' etc..

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 17
    Par défaut
    Merci, j'avais oublié la fonction split.
    J'ai trouvé une méthode un peu plus galère mais qui marche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
                   for c in nomcomplet:
                      caract.append(c)
                   i = 0
                   while i < len(caract):
                      if instancecaract[i] == ' ':
                         nom = nomcomplet[0:i]
                         prenom= report[i+1:]
                         break
                      i = i + 1

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

Discussions similaires

  1. [AC-2003] Séparer prénom et nom dans des champs différents
    Par castours dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 20/05/2013, 23h59
  2. [XL-2000] Extraire le nom et les initiales du prénom
    Par Philindy26 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/09/2011, 16h01
  3. [Toutes versions] cellule1: nom, cellule2: prénom, cellule3=nom prénom
    Par livinho38 dans le forum Excel
    Réponses: 2
    Dernier message: 25/03/2010, 14h47
  4. [RegEx] Tester un prénom ou nom
    Par mosto dans le forum Langage
    Réponses: 1
    Dernier message: 14/03/2008, 11h50
  5. [VB] Nom & Prénom : extraire Nom
    Par ptitsoleil87 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 29/12/2005, 12h02

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