Counting how many chars equal to a given char are in the beginning of a string

vincent wehren vincent at visualtrans.de
Mon Dec 22 16:31:23 EST 2003


"Stormbringer" <andreif at mail.dntis.ro> schrieb im Newsbeitrag
news:21bb8d55.0312221204.51d86182 at posting.google.com...
| Hi,
|
| Given a string s and a char c, is there a short & elegant way to
| determine how many consecutive occurences of c are in the beginning of
| s ?
|
| For example if s = ">>>>message1" and c = ">" then the number I am
| looking for is 4 (the string begins with 4 '>').

How about:

def getc(s, c):
    """
    Get the number of consecutive occurrences of given char c
    at the beginning of given string s.
    """
    cnt = 0
    while 1:
        try:
           if s[cnt] == c:
               cnt += 1
           else:
               return cnt
        except IndexError:
           return cnt

c = '>'
print getc(">>>>Message", c) #prints 4
print getc(" >>>>Message", c) #prints 0
print getc (">>>", c) #prints 3

Maybe not the most elegant or shortest, but it works...

HTH,

Vincent Wehren


|
| Thanks,
| Andrei






More information about the Python-list mailing list