« Return to Thread: sed to python: replace Q

Re: sed to python: replace Q

by Robert Bossy :: Rate this Message:

Reply to Author | View in Thread

Raymond wrote:
> For some reason I'm unable to grok Python's string.replace() function.
> Just trying to parse a simple IP address, wrapped in square brackets,
> from Postfix logs. In sed this is straightforward given:
>
> line = "date process text [ip] more text"
>
>   sed -e 's/^.*\[//' -e 's/].*$//'
>  
alternatively:
  sed -e 's/.*\[\(.*\)].*/\1/'

> yet the following Python code does nothing:
>
>   line = line.replace('^.*\[', '', 1)
>   line = line.replace('].*$', '')
>
> Is there a decent description of string.replace() somewhere?
>  
In python shell:
    help(str.replace)

Online:
    http://docs.python.org/lib/string-methods.html#l2h-255

But what you are probably looking for is re.sub():
    http://docs.python.org/lib/node46.html#l2h-405


RB
--
http://mail.python.org/mailman/listinfo/python-list

 « Return to Thread: sed to python: replace Q

LightInTheBox - Buy quality products at wholesale price