[Tutor] searching for newlines does not work!
Adam Bark
adam.jtm30 at gmail.com
Sun Oct 24 00:09:35 CEST 2010
On 23/10/10 23:03, winder at interchange.ubc.ca wrote:
> This is driving me batty!
>
> In the interactive window, I can use string.replace on newlines for
> some strings and not for others.
>
> Here is what work for newlines:
>
> bill at bill-laptop:~$ python
> Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
> [GCC 4.4.3] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
> >>> test=r"a \n b \n c \n"
> >>> test.replace(r"\n","***")
> 'a *** b *** c ***'
>
> Yay! So far, so good. But now I put in a string with newlines, test2,
> using the triple quote method :
>
> >>> test2="""
> ... a
> ... b
> ... c
> ... """
> >>> test2.replace(r"\n","***")
> '\na\nb\nc\n'
> >>> test2
> '\na\nb\nc\n'
>
> Boo! It does not work. So there here is my question: Why does test
> work but test2 does not? (And: Why me?)
>
> Thanks for any suggestions,
>
> Bill
The problem is your use of 'r' which means raw string. This means that
rather than /n meaning new line it literally means the character '/'
followed by the character 'n'.
In your first example you put the characters into the string test and
replaced the characters.
The second example you have actual newlines and are searching for the
characters "/n" which don't exist in your string.
HTH,
Adam.
More information about the Tutor
mailing list