Bienvenue! Inscrivez-vous et rejoignez notre communaut :)
  • Login:

Bienvenue sur Forum SIG - Systmes d'Information Gographique et Gomatique.

Bienvenue sur le forumSIG. S'il s'agit de votre premire visite, assurez vous de faire une recherche pralable dans les FAQ SIG. Vous devez vous inscrire avant de pouvoir poster.

Page 1 sur 2 12 DernireDernire
Affichage des rsultats 1 15 sur 23
  1. #1
    Rdacteur
    Date d'inscription
    mai 2010
    Localisation
    Edmonton, AB, Canada
    Emploi
    Doctorant en sciences forestires/Analyste en gomatique
    Organisme
    Western Center for Wildland Fire Sciences
    ge
    33
    Messages
    1 148

    Par dfaut Rcuprer chiffres d'un champ texte

    Bonjour,

    J'ai un champ string dans lequel chiffres et lettres sont mlanges et disposes de faon plus ou moins alatoires.

    Est-il possible de distinguer ces deux types dans un calcul de champ?

    Merci, Merlin
    Merlin, Enchanteur Gomatique

  2. #2
    Admin' Portail Supporter(rice)

    Date d'inscription
    mars 2005
    Localisation
    Messanges
    Emploi
    Gomaticien
    Organisme
    CNRS
    ge
    38
    Messages
    5 016

    Mes rseaux sociaux

    Follow Lud On Twitter

    Par dfaut

    Dans la calculatrice je sais que tu peux utiliser python (mais je sais pas comment, mais j'en connais qui pourront te le dire) mais un truc du style :
    Code:
    import re
    re.sub('[^a-zA-Z]','','tr7uc85')
    te renverra ton texte
    'truc'
    et
    Code:
    re.sub('[^0-9]','','tr7uc85')
    te renverra tes chiffres
    '785'
    "comme j' dis toujours C'est pas parce que c'est srieux que a doit tre lugubre..." Phyto
    --------------
    Vous avez le droit de poster sur diffrents forums mais prvenez nous qu'on ne perde pas de temps faire les mmes rponses !
    --------------
    Merci de respecter les rgles du forum
    Un avis, une remarque sur la nouvelle version du PortailSIG, cliquez ici
    Vous souhaitez devenir rdacteur du PortailSIG, contactez moi

  3. #3

    Date d'inscription
    mars 2008
    Localisation
    Nancy
    Emploi
    Sans
    Messages
    4 464

    Par dfaut

    Salut,

    Tu pourrais nous prciser le calcul que tu comptes faire?
    Avec quelques explications sur la chaine de texte?
    A+
    Jol

  4. #4
    Rdacteur
    Date d'inscription
    mai 2010
    Localisation
    Edmonton, AB, Canada
    Emploi
    Doctorant en sciences forestires/Analyste en gomatique
    Organisme
    Western Center for Wildland Fire Sciences
    ge
    33
    Messages
    1 148

    Par dfaut

    Primo je prcise que c'est de la rcupration de DWG. Ce n'est pas important mais c'est juste pour dire que c'est le vraiment le b....l!! Vive l'homognisation des couches et la production d'une mthode unique! Passons

    Des exemples :

    WA-11
    D-320
    A45
    ZA420

    Comme vous pouvez le voir, c'est assez similaire, mais l'absence d'une structure unique me complique vraiment la vie!
    Donc 2 solutions :
    - crer une structure unique et ensuite extraire chiffres et lettres avec InString/Left/Right (l aussi je sche)
    - extraire les lettres (uniquement) pour les mettre dans un autre champ.

    Merci pour votre aide
    Merlin, Enchanteur Gomatique

  5. #5
    Admin' Portail Supporter(rice)

    Date d'inscription
    mars 2005
    Localisation
    Messanges
    Emploi
    Gomaticien
    Organisme
    CNRS
    ge
    38
    Messages
    5 016

    Mes rseaux sociaux

    Follow Lud On Twitter

    Par dfaut

    et mon histoire de python ne te plait pas ? cela te permet d'extraire tes lettres normalement ...
    "comme j' dis toujours C'est pas parce que c'est srieux que a doit tre lugubre..." Phyto
    --------------
    Vous avez le droit de poster sur diffrents forums mais prvenez nous qu'on ne perde pas de temps faire les mmes rponses !
    --------------
    Merci de respecter les rgles du forum
    Un avis, une remarque sur la nouvelle version du PortailSIG, cliquez ici
    Vous souhaitez devenir rdacteur du PortailSIG, contactez moi

  6. #6

    Date d'inscription
    mars 2008
    Localisation
    Nancy
    Emploi
    Sans
    Messages
    4 464

    Par dfaut

    D'accord pour les chaines mais le calcul?
    Tu veux sparer les chiffres?

  7. #7
    Rdacteur
    Date d'inscription
    mai 2010
    Localisation
    Edmonton, AB, Canada
    Emploi
    Doctorant en sciences forestires/Analyste en gomatique
    Organisme
    Western Center for Wildland Fire Sciences
    ge
    33
    Messages
    1 148

    Par dfaut

    Citation Envoy par Lud Voir le message
    et mon histoire de python ne te plait pas ? cela te permet d'extraire tes lettres normalement ...
    Si si a me plat! Je dois essayer, je finis de mettre mes code commune INSEE (la plaie!)
    Merlin, Enchanteur Gomatique

  8. #8
    Rdactrice Supporter(rice)

    Date d'inscription
    avril 2005
    Localisation
    Cte d'or
    Emploi
    Charge de mission SIG
    Organisme
    CC Gevrey Chambertin
    ge
    37
    Messages
    215

    Par dfaut

    Citation Envoy par merlinlelutin Voir le message
    Primo je prcise que c'est de la rcupration de DWG. Ce n'est pas important mais c'est juste pour dire que c'est le vraiment le b....l!! Vive l'homognisation des couches et la production d'une mthode unique! Passons
    Je comprends ton problme...

    @ Lud : je ne sais pas si on peut importer un module dans la calculatrice. J'ai test ton code, mais avec "import re", la calculatrice renvoie un message d'erreur. J'ai test en enlevant cette ligne, la calculatrice tourne mais ne donne pas de rsultat.

    Edit : en fait si a marche

    Donc pour rcuprer ton texte par exemple:
    Tu va en mode avanc de ta calculatrice. (n'oublie pas de cocher l'analyseur python en haut),
    dans le bloc de code tu saisi ton expression sous cette forme:
    import re
    def chaine(texte):
    return re.sub('[^a-zA-Z]','',texte)
    (insre 4 espaces la dernire ligne pour respecter l'indentation)
    et en dessous:
    chaine( !nomchamp!)
    Dernire modification par Brangre ; 12/08/2011 14h44.

  9. #9
    Rdacteur
    Date d'inscription
    mai 2010
    Localisation
    Edmonton, AB, Canada
    Emploi
    Doctorant en sciences forestires/Analyste en gomatique
    Organisme
    Western Center for Wildland Fire Sciences
    ge
    33
    Messages
    1 148

    Par dfaut

    Je viens de tenter avec ton code Lud.

    J'ai les mmes soucis que Brangre.
    Je prcise pourtant ma calculatrice que c'est du python mais message d'erreur.

    Aprs, possible que je l'inscrive mal. Vu que je en suis pas encore trs familier avec python, je ne vois pas comment prciser mon troisime argument, i.e. non pas 'tr7uc28' mais toutes les valeurs de mon champ confondues.
    Merlin, Enchanteur Gomatique

  10. #10
    Admin' Portail Supporter(rice)

    Date d'inscription
    mars 2005
    Localisation
    Messanges
    Emploi
    Gomaticien
    Organisme
    CNRS
    ge
    38
    Messages
    5 016

    Mes rseaux sociaux

    Follow Lud On Twitter

    Par dfaut

    Ok on doit pas pouvoir importer de modules donc ... c'est bien dommage
    *******
    EDIT
    *******
    Bon alors en fait non, faut cocher afficher le bloc de code
    Dans code de script Pre-logic on met
    import re
    ensuite dans champ=
    re.sub('[^a-zA-Z]','','tr7uc85')
    Bien sur faut remplacer 'tr7uc85' par le champs valuer ...
    Dernire modification par Lud ; 12/08/2011 14h40. Motif: Fusion automatique des messages posts la suite
    "comme j' dis toujours C'est pas parce que c'est srieux que a doit tre lugubre..." Phyto
    --------------
    Vous avez le droit de poster sur diffrents forums mais prvenez nous qu'on ne perde pas de temps faire les mmes rponses !
    --------------
    Merci de respecter les rgles du forum
    Un avis, une remarque sur la nouvelle version du PortailSIG, cliquez ici
    Vous souhaitez devenir rdacteur du PortailSIG, contactez moi

  11. #11
    Rdacteur
    Date d'inscription
    mai 2010
    Localisation
    Edmonton, AB, Canada
    Emploi
    Doctorant en sciences forestires/Analyste en gomatique
    Organisme
    Western Center for Wildland Fire Sciences
    ge
    33
    Messages
    1 148

    Par dfaut

    Citation Envoy par Spacejo Voir le message
    D'accord pour les chaines mais le calcul?
    Tu veux sparer les chiffres?
    Ce que je veux, c'est rcuprer la/les lettres de la chaine de texte.
    Au pire s'il n'y a pas de mthode unique je vais travailler sur des slections et slectionner le premier caractre gauche, puis une autre avec les 2 caractres gauche...ainsi de suite.

    C'est pour rcuprer le code de section sur du parcellaire
    Merlin, Enchanteur Gomatique

  12. #12
    Rdactrice Supporter(rice)

    Date d'inscription
    avril 2005
    Localisation
    Cte d'or
    Emploi
    Charge de mission SIG
    Organisme
    CC Gevrey Chambertin
    ge
    37
    Messages
    215

    Par dfaut

    Teste avec le code de mon message plus haut. Chez moi a fonctionne.

  13. #13
    Admin' Portail Supporter(rice)

    Date d'inscription
    mars 2005
    Localisation
    Messanges
    Emploi
    Gomaticien
    Organisme
    CNRS
    ge
    38
    Messages
    5 016

    Mes rseaux sociaux

    Follow Lud On Twitter

    Par dfaut

    sisi a marche ...
    *******
    EDIT
    *******
    Ok et donc mme si on veut simplifier pour pas faire de def, suffit de faire :
    import re
    puis
    monchamp=
    re.sub('[^a-zA-Z]','',!nomchamp!)
    *******
    EDIT
    *******
    et quitte faire, une explication
    import re
    importe le module rgular expression http://docs.python.org/library/re.html
    on utilise ensuite la mthode sub du module re
    re.sub qui va faire en chercher remplacer et fonctionne ainsi
    re.sub(motifarechercher,remplacement,chaine)
    ici on cherche les chiffres, on les remplace par rien et voila
    Dernire modification par Lud ; 12/08/2011 15h24. Motif: Fusion automatique des messages posts la suite
    "comme j' dis toujours C'est pas parce que c'est srieux que a doit tre lugubre..." Phyto
    --------------
    Vous avez le droit de poster sur diffrents forums mais prvenez nous qu'on ne perde pas de temps faire les mmes rponses !
    --------------
    Merci de respecter les rgles du forum
    Un avis, une remarque sur la nouvelle version du PortailSIG, cliquez ici
    Vous souhaitez devenir rdacteur du PortailSIG, contactez moi

  14. #14
    Rdacteur
    Date d'inscription
    mai 2010
    Localisation
    Edmonton, AB, Canada
    Emploi
    Doctorant en sciences forestires/Analyste en gomatique
    Organisme
    Western Center for Wildland Fire Sciences
    ge
    33
    Messages
    1 148

    Par dfaut

    Citation Envoy par Brangre Voir le message
    Teste avec le code de mon message plus haut. Chez moi a fonctionne.
    Idem a a fonctionn de mon ct.
    Par contre Lud selon ta structure a ne marche pas, mais je pense que a vient d'une mauvaise criture de ma part.

    En tout j'ai mes sections, enfin au moins en partie

    merci

    EDIT

    Ton dernier code aurait fonctionn!
    Merlin, Enchanteur Gomatique

  15. #15
    Admin' Portail Supporter(rice)

    Date d'inscription
    mars 2005
    Localisation
    Messanges
    Emploi
    Gomaticien
    Organisme
    CNRS
    ge
    38
    Messages
    5 016

    Mes rseaux sociaux

    Follow Lud On Twitter

    Par dfaut

    Citation Envoy par merlinlelutin Voir le message
    Par contre Lud selon ta structure a ne marche pas, mais je pense que a vient d'une mauvaise criture de ma part.
    Si tu parles de
    re.sub('[^a-zA-Z]','','tr7uc85')
    C'est normal car ici je n'intgre pas de champs mais directement une chaine de caractre : tr7uc85
    *******
    EDIT
    *******
    Alors sinon dsol j'tais pas parti sur une autre piste au dpart alors du coup c'est pas trs comprhensif mais on peut plutot faire
    re.sub('[0-9]','',montexte) pour rechercher les chiffre et les remplacer par rien
    et
    re.sub('[a-zA-Z]','',montexte) pour rechercher les lettres et les remplacer par rien
    Dernire modification par Lud ; 12/08/2011 15h18. Motif: Fusion automatique des messages posts la suite
    "comme j' dis toujours C'est pas parce que c'est srieux que a doit tre lugubre..." Phyto
    --------------
    Vous avez le droit de poster sur diffrents forums mais prvenez nous qu'on ne perde pas de temps faire les mmes rponses !
    --------------
    Merci de respecter les rgles du forum
    Un avis, une remarque sur la nouvelle version du PortailSIG, cliquez ici
    Vous souhaitez devenir rdacteur du PortailSIG, contactez moi

 

 
Page 1 sur 2 12 DernireDernire

Discussions similaires

  1. [MapBasic 10.x] Rcuperer des donnes prcises partir d'un fichier texte
    Par OneMan87 dans le forum Programmation
    Rponses: 1
    Dernier message: 14/03/2011, 11h13
  2. [MapInfo X.x] Remplir champ ID par des chiffres
    Par montreal*** dans le forum Assistance Technique
    Rponses: 3
    Dernier message: 17/09/2009, 18h10
  3. [MapInfo 6.x] Rcuprer le texte d'un objet texte
    Par kmeo dans le forum Assistance Technique
    Rponses: 9
    Dernier message: 22/10/2008, 11h28
  4. [MapInfo 9.x] Rcuprer l'angle d'un objet texte dans un champ
    Par Oakland dans le forum Assistance Technique
    Rponses: 2
    Dernier message: 19/09/2008, 06h06
  5. Rponses: 0
    Dernier message: 05/01/2007, 09h14

Les tags pour cette discussion

Liens sociaux

Rgles de messages

  • Vous ne pouvez pas crer de nouvelles discussions
  • Vous ne pouvez pas envoyer des rponses
  • Vous ne pouvez pas envoyer des pices jointes
  • Vous ne pouvez pas modifier vos messages
  •