séparer les lettres des chiffres dans une string.

Le
JB BUTET
Bonjour :)

J'ai des fichiers qui s'appellent :
toto123, toto 122 etc.
ou encore THTFSG1253

je voudrais savoir qu'elle est l'astuce pour séparer les lettres des
chiffres ?
(j'y connais rien en ASCII, mais ca pourrait être : garde ce qui a pour
code ascii moins de 134 (si on imagine que 134 est le zéro, chose que je
ne sais pas ;) )

si vous avez de quoi m'aiguiller, je suis preneur.

A+

JB
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Laurent Pointal
Le #626300
Bonjour :)

J'ai des fichiers qui s'appellent :
toto123, toto 122 etc.
ou encore THTFSG1253...

je voudrais savoir qu'elle est l'astuce pour séparer les lettres des
chiffres ?
(j'y connais rien en ASCII, mais ca pourrait être : garde ce qui a pour
code ascii moins de 134 (si on imagine que 134 est le zéro, chose que je
ne sais pas ;) )

si vous avez de quoi m'aiguiller, je suis preneur.


Ca date du 4 juin:
http://groups.google.fr/group/fr.comp.lang.python/browse_thread/thread/84f3d7f5ac71a4f9/105d1e7ab6cc2df4?lnk=st&q=%22petite+question+sur+une+petite+chaine+de+caract%C3%A8res...%22&rnum=1#105d1e7ab6cc2df4

C'est pas exactement ce que tu recherches... mais ça devrais donner des
pistes...

Sinon, une petite expression régulière...

Jerome
Le #626299
JB BUTET wrote:
Bonjour :)

J'ai des fichiers qui s'appellent :
toto123, toto 122 etc.
ou encore THTFSG1253...

je voudrais savoir qu'elle est l'astuce pour séparer les lettres des
chiffres ?
(j'y connais rien en ASCII, mais ca pourrait être : garde ce qui a pour
code ascii moins de 134 (si on imagine que 134 est le zéro, chose que je
ne sais pas ;) )

si vous avez de quoi m'aiguiller, je suis preneur.

A+

JB


Bonjour,
qu'est-ce que tu entends précisemment par "séparer les lettres des
chiffres" ?

pourrais-tu donner un exemple de ce que tu as en entrée et ce que tu
veux en sortie ?

un truc du genre peut peut-être t'aider :

import string
s = 'toto123'
filter(lambda c: c not in string.digits, s)

Laurent Pointal
Le #626298
Bonjour :)

J'ai des fichiers qui s'appellent :
toto123, toto 122 etc.
ou encore THTFSG1253...

je voudrais savoir qu'elle est l'astuce pour séparer les lettres des
chiffres ?
(j'y connais rien en ASCII, mais ca pourrait être : garde ce qui a pour
code ascii moins de 134 (si on imagine que 134 est le zéro, chose que je
ne sais pas ;) )

si vous avez de quoi m'aiguiller, je suis preneur.

A+

JB


Et si la discussion ne t'inspires pas...

import re

r = re.compile(r"([a-zs]+)(d+)",re.IGNORECASE)

tests = ['toto123', 'toto 122', 'THTFSG1253' ]

for t in tests :
matchs = r.match(t)
if matchs :
print matchs.groups()




('toto', '123')
('toto ', '122')
('THTFSG', '1253')

Laurent Pointal
Le #631443
import re
...


Note: voir peut-être à mettre un ^ au début de l'expression et un $ à la
fin, afin d'être sûr de matcher toute la chaine.

eric
Le #631442
import string

chaine= "toto1234"


print chaine.rstrip(string.digits)
print chaine.lstrip(string.ascii_letters)


a+
eric
eric
Le #631175
j'avais pas vu qu'il pouvait y avoir des espaces, c'est donc :

import string

chaine= "tOTODFKko 1234"


print chaine.rstrip(string.digits+" ")
print chaine.lstrip(string.ascii_letters+" ")
JB BUTET
Le #631173
super :)))


j'avais pas vu qu'il pouvait y avoir des espaces, c'est donc :

import string

chaine= "tOTODFKko 1234"


print chaine.rstrip(string.digits+" ")
print chaine.lstrip(string.ascii_letters+" ")


Publicité
Poster une réponse
Anonyme