[Python] Exclure un caractère dans un len

Résolu/Fermé
Stéphane - 1 juin 2007 à 10:43
 Stéphane - 1 juin 2007 à 11:21
Bonjour

je cherche a calculer le nombre de caractères dans une chaine mais en excluant le "." et la je sèche.

si vous pouviez me dire ce que je dois rajouter ou modifier dans mon script ce serait super

Merci d'avance

Stephane

Script :

#!/usr/bin/python
#-*- coding: utf-8 -*-
print "Entrez une ligne :"
maChaine=raw_input()
print "La ligne comprend",len(maChaine),"caractere(s)"
raw_input("Allez c\'est bon !")
A voir également:

4 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
1 juin 2007 à 10:52
print "La ligne comprend",len(maChaine.replace(".","")),"caractere(s)" 
:-)
0
Je te remercie.

Ca roule au poil

Peut etre juste une explication ?

Dans len(maChaine.replace(".","")), tu demandes le remplacement du "." par un "" ?

Merci encore.

Rapide, competent et sympathique... un melange detonnant.

amitiés

Stéphane
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
1 juin 2007 à 11:15
Oui désolé, j'en oubliais un brin d'explication.
En fait replace() est une méthode pour les objets chaines de caractères.
Le premier champs est le caractère à trouver (toutes les occurences), et le deuxième est le caractère de remplacement. Si tu mets une chaine vide comme je l'ai fait ici, il te supprimera toute occurence du caractère donné en premier paramètre.

replace ne modifie pas la chaine visée mais en retourne une nouvelle, donc maChaine reste intacte, mais maChaine.replace(...) retourne une nouvelle chaine.

Voilà :-)

N'hésite pas à regarder dans la doc officielle, il ya beaucoup de méthodes interessantes pour les chaines:
http://docs.python.org/lib/string-methods.html
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
1 juin 2007 à 11:16
Dans len(maChaine.replace(".","")), tu demandes le remplacement du "." par un "" ?

C'est ça !
0
Merci beaucoup a tous les deux.

J'ai tout compris et je vais aller jeter un oeil sur ton lien Kilian

Merci encore

Amitiés
0