Hari wrote: > Hi all, > > I need to get a part of string which follows a pattern 'addr=' > > > For example: > > > a)test="192.168.1.17:/home/ankur/nios_fson/mnt/tmptype > nfs(rw,addr=192.168.1.17)" > b)test="/dev/root on / typr nfs > (rw,v2,rsize=1024,wsize=1024,hard,udp,nolock,addr=192.168.1.93)" > > > I need to get the ipaddress from the above two strings a and b which > follows 'addr='. I tried to use cut, but it accepts only single charter > > as delimiter. If I give delimiter as 'addr=' for cut command it gives > me a error.
Regular Expressions are probably the easiest way to do this. Example: import re str = """a)test="192.168.1.17:/home/ankur/nios_fson/mnt/tmptype nfs(rw,addr=192.168.1.17)" b)test="/dev/root on / typr nfs (rw,v2,rsize=1024,wsize=1024,hard,udp,nolock,addr=192.168.1.93)""" m = re.search("addr=(\d+\.\d+\.\d+\.\d+)", str) print m.group(1) -> Prints: 192.168.1.17 Read the Python manual on Regular Expressions (module re) or google for Python regular expression tutorials if your search is more complex than this (or if you want to know what's going on). If you want a good in-depth text on the subject, I'd recommend J. Friedls "Mastering Regular Expressions." Have fun. -- http://mail.python.org/mailman/listinfo/python-list