like a "for loop" for a string
Boris Borcic
bborcic at gmail.com
Mon Aug 18 10:07:42 EDT 2008
Alexnb wrote:
> Uhm, "string" and "non-string" are just that, words within the string. Here
> shall I dumb it down for you?
>
>
> string = "yes text1 yes text2 yes text3 no text4 yes text5+more Text yes
> text6 no text7 yes text8"
>
> It doesn't matter what is in the string, I want to be able to know exactly
> how many "yes"'s there are.
> I also want to know what is after each, regardless of length. So, I want to
> be able to get "text1", but not "text4" because it is after "no" and I want
> all of "text5+more Text" because it is after "yes". It is like the yeses are
> bullet points and I want all the info after them. However, all in one
> string.
def list_of_yes_prefixed_possibly_no_suffixed(s) :
return (' '+s).split(' yes ')[1:]
def removed_no_suffixes(t) :
return t.split(' no ')[0]
infos = map(removed_no_suffixes,
list_of_yes_prefixed_possibly_no_suffixed(string))
how_many = len(infos)
or as a one-liner :
infos = [ t.split(' no ')[0] for t in (' '+string).split(' yes ')[1:]]
>
>
> Fredrik Lundh wrote:
>> Alexnb wrote:
>>
>>> Basically I want the code to be able to pick out how many strings there
>>> are
>>> and then do something with each, or the number. When I say string I mean
>>> how
>>> many "strings" are in the string "string string string non-string string"
>> >
>>> Does that help?
>> not really, since you haven't defined what "string" and "non-string" are
>> or how strings are separated from each other, and, for some odd
>> reason, refuse to provide an actual example that includes both a proper
>> sample string *and* the output you'd expect.
>>
>> please don't use the mailing list to play 20 questions.
>>
>> </F>
>>
>> --
>> http://mail.python.org/mailman/listinfo/python-list
>>
>>
>
More information about the Python-list
mailing list