Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

séparer les lettres des chiffres dans une string.

7 réponses
Avatar
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

7 réponses

Avatar
Laurent Pointal
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...

Avatar
Jerome
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)

Avatar
Laurent Pointal
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')

Avatar
Laurent Pointal
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.

Avatar
eric
import string

chaine= "toto1234"


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


a+
eric
Avatar
eric
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+" ")
Avatar
JB BUTET
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+" ")