[Python] Exclure un caractère dans un len

Résolu
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 !")
Configuration: Windows 2000
Firefox 2.0.0.4

4 réponses

  1. Modérateur
    print "La ligne comprend",len(maChaine.replace(".","")),"caractere(s)" 
    :-)
    1. 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
      1. Modérateur
        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
    2. Modérateur
      Dans len(maChaine.replace(".","")), tu demandes le remplacement du "." par un "" ?

      C'est ça !
      1. 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