Alexnb wrote:
Uhm, "string" and "non-string" are just that, words within the string.
From what I can tell, this is the first time you use the word "word" in
your posts.
> Here shall I dumb it down for you?
No, you should do what you should have done from the very beginning:
explain what you want in unambiguous terms. Given that the "dumbed
down" version only has superficial similarities with your earlier posts,
this is obviously something that you need to practice.
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"
It's after "yes" as well, as part of the string "text3 no text4".
> 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.
Ok, so you have *two* separators, "yes" and "no", and you want all the
text fragments that follow a yes separator? Do you seriously argue that
anyone anywhere would have been able to figure that out from your
original description?
> funString = "string string string non-string non-string string"
> and
> for "string" in funString:
> print something
Anyway, I guess I'd split on the separator, and use a list comprehension
to pick out the texts you want. E.g.
>>> text = "... as above ..."
>>> parts = re.split(r"\b(yes|no)\b", text)
>>> parts = [parts[i+1].strip()
... for i in xrange(1, len(parts), 2)
... if parts[i] == "yes"]
>>> len(parts)
6
>>> parts
['text1', 'text2', 'text3', 'text5+more Text', 'text6', 'text8']
Alternatively, just use text.split() to split the text in a list of
words, and loop over that, keeping track of the words you want to keep.
A bit more work, but maybe easier to grok if you're not used to list
comprehensions/generator expressions.
</F>
--
http://mail.python.org/mailman/listinfo/python-list