Re: sed to python: replace Q



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
.



Relevant Pages

  • sed to python: replace Q
    ... For some reason I'm unable to grok Python's string.replacefunction. ... Just trying to parse a simple IP address, wrapped in square brackets, ... from Postfix logs. ...
    (comp.lang.python)
  • Re: sed to python: replace Q
    ... Just trying to parse a simple IP address, wrapped in square brackets, ... from Postfix logs. ... yet the following Python code does nothing: ...
    (comp.lang.python)
  • Re: sed to python: replace Q
    ... Just trying to parse a simple IP address, wrapped in square brackets, ... from Postfix logs. ... yet the following Python code does nothing: ...
    (comp.lang.python)