[Tutor] String replace question

2010-07-28 Thread Rod
Hello,

I need to replace a period (.) in a domain name with a slash period (\.).

I'm attempting to use the string replace method to do this.

Example:

uri = domain.com

uri.replace('.', '\.')

This returns 'domain\\.com'

Is there a way to do this so there is not a double slash before the period?

Thanks for any help,
Rod
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] String replace question

2010-07-28 Thread Rod
 Try
 print uri.replace('.', '\.')
 and you'll find the replacement works fine.

 Or write the output to file, and look at the file.

 Python shows a representation on its prompt, and thus needs to escape the 
 backslash (by prepending another backslash). Otherwise you might think '\.' 
 was meant, which is simply a '.'.
 But consider:
 uri.replace('.', '\n')
 'domain\ncom'
 print uri.replace('.', '\n')
 domain
 com

 because '\n' is really a different string (character) than a backslash + 'n'.


Thanks, that was very helpful. I was using the interactive interpreter
to test things.
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor